通过浏览器配置提高自动化脚本运行稳定性-2

上一篇 / 下一篇  2012-09-28 11:13:54 / 个人分类:杂谈

51Testing软件测试网(| ~tBX.~y

  缓存怎么清空

Me#^h Ol Lb6O&is051Testing软件测试网j%_^:`2X3E

  为了保证每次运行时,脚本都有一个全新的运行环境,避免历史数据及缓存对运行产生影响,每次脚本运行前浏览器的临时文件夹都需要清空,保存的历史数据也需要清理干净。通过图 7 所示配置,每次浏览器关闭时,这些数据会被自动清空,为下次运行提供了干净的环境。

8PALZVTiTNc@0

+f8G~(C2E8W9rF Z0  图 7. 清空临时文件夹51Testing软件测试网(M5D_/y'{|L"h4d%r-F

51Testing软件测试网z9RR/i,c2{f

  浏览器的自动填充功能如何禁用51Testing软件测试网9b&r:_"Ey6B3]

  IE 提供的文本框自动填充功能,可以自动记忆某些词条,下次使用的时候为用户提供选择,极大方便了用户的使用,然而在自动化测试中,自动填充功能有时会遮盖相邻的文本框,自动化脚本无法正确输入相应内容,导致脚本运行出错。如图 8 所示。51Testing软件测试网N%Y]+g0`O

  图 8. 自动填充遮盖相邻文本框

-Lc9m;J%@'}#EM xU$~0

51Testing软件测试网.\5`d,nn/mG

  当启用了自动填充功能后,由于 wpsadmin1/wpsadmin2/wpsadmin3 已经被记忆,当脚本输入 wpsadmin 时,提示列表仍然存在,此时如果脚本试图在第二个文本框中输入内容,则会出现问题,因为该文本框已被提示列表完全遮住。所以我们建议在自动化脚本运行环境 中,尽量避免启用自动填充功能。禁用自动填充功能的设置如图 9 所示。

y"_[l+?0f5IWm0

  图 9. 禁用自动填充功能51Testing软件测试网`-A}3Uf S{ g

o#Hx mSn?#A0

  如何去除我不需要的警告信息

c3K;a| c`0

  当禁用了弹出阻止功能以后,你可能会遇到另外一些不需要的警告信息,这些警告信息随时以弹出窗口方式在脚本运行的某 一刻弹出来,你无法预料脚本运行到哪一步会遇到,就像埋下了定时炸弹,给脚本运行带了更多的不稳定因素,屏蔽这些警告信息成为我们要解决的另一个问题。通 过 IE 的选项 -> 高级设置中的设置,可以达到这一目的,如图 10 所示,首先禁掉页面脚本调试功能,对于页面脚本错误,不需要弹出窗口;同时启用 IE 的自动恢复机制,在 IE 出现意外崩溃的情况下能够自动恢复,保证脚本运行的连贯性。

R? nl)Sx0

  图 10. 禁用脚本调试51Testing软件测试网 p#F\f!P+QWD

-C!c$w.RB9P6Q U F051Testing软件测试网!p KzL-_$@ a0m's3C

  另外对于明显的警告提示予以屏蔽,如图 11 所示,这样绝大部分意外弹出窗口基本被屏蔽,脚本运行在可控环境中。

d_6x g"} vY6g051Testing软件测试网KH@p m){;|)~7\ W

  图 11. 清除警告信息

O p$k#K5t*h/B0

[ABN q/y0

  到底该不该配置可信赖站点51Testing软件测试网X&z |&]!qfB

  把被测应用设置为可信赖站点,在访问时可减少不必要的弹出窗口,简化脚本处理过程,加速自动化运行。然而当一个应用 运行中可能访问多个不同站点或者站点间相互访问时,是否配置可信赖站点则值得讨论,尤其是一个可重复利用的脚本,运行在可信赖站点和不可信赖站点上,结果 会有很大不同。参见图 12 所示安全警告信息。51Testing软件测试网 aB%s/A9hEV/~|

  图 12. 安全警告

u_;ILjN]z'A0

y Jc(t#@^0

  当两个站点一个是可信赖的,一个是不可信赖的时候,你可能会意外的遇到下列对话框。而当两个网站都是不可信赖或者可 信赖时,这类对话框则会被避免。因此为了脚本的可靠性和可重复使用性,我们建议尽量避免配置可信赖站点,虽然这有可能会增加脚本的处理难度,但是却能提高 稳定性。51Testing软件测试网 G$@w []1|u,` dG

  WebSphere Portal 自动化脚本使用中遇到的浏览器异常和解决方案

{l-x YR5w]+yR M0

  WebSphere Portal 是 IBM 公司提供的包括运行时服务器、服务、工具和许多其他特性的企业级门户网站解决方案,这是一个典型的 Web 应用。在 WebSphere Portal 的自动化测试中,我们发现即使根据向导对浏览器进行了定制,在脚本运行中偶尔还会遇到一些异常现象。对于这些不常见的现象,我们不做常规设置,但是问题一 旦出现,就需要及时有效的解决方案。笔者结合在 WebSphere Portal 测试中遇到的一些异常,给出了经过实践的行之有效的解决方案。51Testing软件测试网0rg0V_$dDO2H%t8s

  Microsoft Visual C++ Runtime Library 错误

)Ss!C5d T0

  访问 Web 应用时,不同运行环境可能会遇到弹出窗口为 Microsoft Visual C++ Runtime Library 的错误提示。出现这种情况一般是由于被测产品运行所需要的运行库与运行环境所提供的运行库版本不一致所致,运行环境需要更新运行库版本至产品需要的版本, 如在 WebSphere Portal 8.0 产品中,浏览器所在的客户端需要更新此运行库在 Microsoft Visual C++2008 Redistributable 版本。

F5G h5M6So0

  弹出页面标题显示不正常51Testing软件测试网+_I3MGK0C"B*[

  某些 Web 应用在操作弹出窗口时,会有对弹出窗口标题进行验证的需要,但有时你会发现弹出窗口标题显示为一长串字符,而非标题本身。比如在访问 WebSphere Portal 时,我们期待弹出窗口标题出现 People Finder,但在某些运行环境中并非如此,图 13 展示了不同配置情况下,弹出窗口标题的区别。51Testing软件测试网r'x [2c _2[{)zB

  图 13. 弹出窗口标题显示

'e7\'M$f7\r;?\0

!DY$Fb%en.a/l@ G'y0

  这种情况主要是由于浏览器的安全设置中允许网站不显示地址栏和状态栏的情况下打开网页。调整方式很简单,参见图 14,在浏览器的安全设置中,禁用掉此项即可。

c G1D9J1tsj!a-V0

  图 14. 网页地址栏 / 状态栏显示配置51Testing软件测试网#|-C.X;q'xs7M0]

0^8{8q+u.Zh8X*C051Testing软件测试网yA3H fz|;zb

  弹出窗口提示停止脚本运行51Testing软件测试网)C QB)xV5v.\poN

51Testing软件测试网OJEA-S"d0n

  当自动化脚本运行一定时间后,你可能会遇到浏览器崩溃或者无响应的情况,同时弹出对话框提示 "A script. on this page is causing Internet Explorer to run slowly...",正如图 15 所展示,对话框弹出后,页面访问被阻止,页面不再响应脚本的任何请求。

qv!?8Q$^8q;f051Testing软件测试网Gu;P\iN

  图 15. 页面无响应51Testing软件测试网Qq#}6Vd/iq

s+j5poa6K8?+R0

  这是由于页面上某些 ActiveX 控件或者 JS 脚本执行时间过长,超过了注册表中设定的时限导致的。当这种情况出现后,整个自动化运行处于停滞状态,因为无法预知,所以脚本中也没有办法做灵活的处理。 但是这种情况下,可以通过修改注册表中 IE 的超时时限来提前预防。修改方法如下:

n;b"h#Q/p#E/S0

  1)编辑注册表,找到下列 KEY51Testing软件测试网0L5R:]8q)F8}$j en

  HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Styles(如果 Styles 不存在,则需要手动创建)

{%x"Ou5r0

  2)在 Style. 下创建 DWORD value,名字为 MaxScriptStatements,值为你希望的数值。如果不确定,可以设定成 0xFFFFFFFF。

2?rt/g2O,SaD0

  什么样的屏幕分辨率适合自动化测试51Testing软件测试网9R Y'i-t3a

  屏幕分辨率的问题是个有争议的话题,理论上无论分辨率设置成多少,自动化测试工具都应该可以正确的定位对象,尤其对 于可编程的工具而言。实际上,要想达到这个要求,必须有一个前提,就是你的运行环境和你的脚本开发环境的屏幕分辨率必须是一致的,否则即使是可编程的工具 在获取对象的相对位置时也容易出现问题,运行极不稳定。

Y`cK2S0

  运行环境能否用远程桌面访问

@-DdF Oc3rD0

  为什么我的脚本在很多机器上运行正常,但是每当远程桌面连接的时候就出现问题呢 ?

\fF)Q Q"}0

  我需要访问我的脚本运行环境,是该用远程桌面还是用其他的远程连接工具如 VNC 连接呢?相信这是很多新手经常面临的困惑。51Testing软件测试网*P*d+}-|rK

  在实践中我们发现,远程桌面访问运行环境不是完全不允许的,只是在连接过程中会给运行环境带来不稳定因素。首先,使 用不同分辨率机器远程桌面连接同一台机器时,远程桌面的屏幕分辨率取决于当前连接所用的机器,而不同屏幕分辨率在运行同一脚本时结果有很大差别,这在前面 我们已经提及;其次,断掉远程桌面连接时可能导致机器锁屏,从而使正在运行的脚本因检测不到相应的屏幕对象而受阻失败;51Testing软件测试网k|{^.P:X[6L6h-{a

  再则,如果远程机器开启了多用户登录,那么其中一个用户在运行自动化脚本时可能与其他用户的进程发生冲突,从而导致运行失败。

c ?'L#zY%d0

  基于以上种种分析,我们并不建议在自动化脚本的运行环境中开启远程桌面连接,用户可以使用诸如 UltraVNC、TightVNC 等远程连接工具来连接运行环境,以保证自动化脚本的执行不受中断。

;Y v c w+s X*G0

  总结

,Kb6PID*v L0

  自动化测试的稳定性和可靠性是一个长期的话题,很多团队都进行过一些探讨。除了技术上的革新和改进,最有效也是最基 本的提升自动化测试稳定性的方式便是改善运行环境,扫清自动化运行过程中的障碍,减少人工干预。通过本文,可以清楚的了解浏览器中哪些配置对你的自动化脚 本有影响,可以最大限度减轻运行过程中浏览器的负面作用,提高脚本运行的稳定性。笔者希望本文能起到抛砖引玉的作用,使自动化测试开发人员对运行环境有更 多的了解和认识,从而提出更多行之有效的提升自动化运行品质的方案。51Testing软件测试网/r.D ?Mx0{#@


TAG:

乐园林的个人空间 引用 删除 乐园林   /   2012-09-29 13:53:17
3
 

评分:0

我来说两句

Open Toolbar