51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 4311|回复: 1
打印 上一主题 下一主题

★请问如何用HtmlUnit获得被jQuery动态改变的html element属性值

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-9-22 15:28:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问由jQuery改变的html element属性如何用HtmlUnit测试? 请看下面代码, 代码中等image加载完成后, 跟据image的实际宽度来动态的改变image caption的宽度, 使它们一样宽. image caption有一个原始宽度200px. 但是用HtmlUnit获得image caption div属性始终是html原始代码中的属性: word-wrap:break-word; width:200px, 请问如何获得被jQuery动态改变的html element属性值. 比如:word-wrap:break-word; width:258px. 谢谢!

------------------------------------------------------------------
HtmlElement imageCaption = testedPage.getElementById("caption_1");
            
String imageStyle = imageCaption.getAttribute("style");
println("Image Caption Style: " + imageStyle);
------------------------------------------------------------------

------------------------------------------------------------------
<img src="<%=compFile%>" id="image_<%=i%>" class="
<%                          
                            if (compIsNeedBorder)
                                                           {
%>
                                                        imageStyleBorder
                                                        <%
                                                           }
                                                           else
                                                           {
                                                    %>
                                                        imageStyle
                                                        <% } %>
                                                        "/>
                                                  <div id="caption_<%=i%>" class="caption" style="word-wrap:break-word; width: 200px"><%=compText.replaceAll("<p>", "").replaceAll("</p>", "").replaceAll("&nbsp;", " ")%></div>
                    
                    <script type="text/javascript">
                    
                    // call function after the image load
                    function CallFunAfterImgLoad(imgId, callback)
                    {
                           jQuery("#" + imgId).load(function(){ callback(); });
                            //$("#" + imgId).ready(function(){ callback(); });
                    }

                    function ImageReadyCallback()
                    {
                            var imageWidth = jQuery("#image_<%=i%>").width();
                            // alert("Image Width: " + imageWidth);
                           
                            if (0 == imageWidth)
                            {
                                    //alert ("image width: 0px");
                                    setTimeout(ImageReadyCallback, 100);
                                    return;
                            }
                           
                            $("#caption_<%=i%>").width(imageWidth);
                    }
                    
                    CallFunAfterImgLoad("image_<%=i%>", ImageReadyCallback);
                    </script>
------------------------------------------------------------------
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-10-9 10:51:53 | 只看该作者
用HtmlUnit Driver测试jQuery不适合,还是用具体的浏览器 Driver吧
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-27 22:29 , Processed in 0.069593 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表