基于Selenium2的自动化测试:从入门到精通

使用jQuery在网页中查找元素

jQuery允许开发人员通过简单的步骤快速识别页面上的元素。在使用jQuery简化Selenium查找元素操作之前,需要首先确认页面是否已经加载了jQuery库。对于未加载jQuery库的页面,如果希望利用jQuery的优势来查找页面元素,则可以通过其他方式来达到目的。其中,1为Ima-ges菜单的位置,2为Images菜单在DOM结构中的位置,3为在jQuery中用于查找的路径。图3.18 通过elements[2].textContent验证Images以上是通过浏览器的调试工具动态加载jQuery库,并验证元素属性的过程。
理论教育 2023-10-25

基于Selenium2自动化测试:创建测试用例

接下来尝试通过Selenium IDE来创建第一个测试用例。6)再次单击IDE上区域3中的录制键,停止录制测试用例。图2.7 添加assertText这样就完成了第一个测试用例的录制过程。IDE执行回放后的界面如图2.8所示。2)面板5中测试用例的执行步骤都将呈现绿色状态,并且assert语句为高亮深绿色。图2.8 通过Selenium IDE在百度中搜索字符串如果需要添加新的Command到当前的测试用例,则可以通过如下步骤来达到目标:1)选中需要在后面添加Command的那个测试步骤。
理论教育 2023-10-25

GoogleChrome自动化测试

Google Chrome浏览器自带Web开发调试工具,通过以下两种方式可以打开此工具:方法1:选择View→Developer→Developer Tools菜单命令,如图3.1所示。图3.1 通过菜单打开Developer Tools图3.2 通过鼠标右键打开Developer ToolsHTML代码在Developer Tools中以树形结构显示,方便开发人员了解页面的各个元素以及它们的属性、DOM结构、JavaScript调用和CSS样式等信息,如图3.3所示。下面会探讨如何通过XPath来查找元素,借助Google Chrome浏览器的Web开发调试工具就可以很方便地获取某个具体元素的XPath。
理论教育 2023-10-25

SeleniumIDE实现多窗口处理:从简单切换到操作窗口

在Selenium IDE中可以处理多个浏览器窗口。下例就展示了如何通过Selenium IDE来完成一些简单的多浏览器窗口切换的工作。图2.14 Firefox阻止网站弹出pop-up窗口的提示信息首先需要确保Firefox浏览器允许pop-up窗口的弹出,否则本示例无法正常进行演示。图2.15 允许网站弹出pop-up窗口的设置图2.16 Selenium IDE操作多窗口的测试脚本2)操作新pop-up的窗口,但此时还不能直接对新窗口进行操作。5)选中子窗口Google Images并关闭该窗口,再选中父窗口“百度图片”并关闭该父窗口。
理论教育 2023-10-25

Selenium2自动化测试:入门到精通

Selenium 2的主要新特性就是将WebDriver API集成进Selenium RC,从而解决Selenium1所面临的一系列局限性问题。Selenium 2不与任何的测试框架绑定,这样便于与其他测试工具进行集成,如JUnit或TestNG等。只要下载WebDriver Java Client Driver就能够使用Firefox WebDriver。4)Internet Explorer Driver:Internet Explorer Driver只能运行在Windows操作系统上,相较于Firefox Driver和Chrome Driver,其运行速度略显缓慢。Selenium 2相较于Selenium 1还有一个重要变化,用户可以通过WebDriver来测试手机应用,无论在模拟器上还是真实设备上。这是在Selenium 1时代无法实现的功能。
理论教育 2023-10-25

Selenium自动化测试:从入门到精通

Selenium自动化测试工具自此诞生,并且在2004年基于Apache 2.0开源协议对外发布,正式命名为Selenium Core。为了解决这个问题,Jason Huggins所在的研发团队编写了HTTP代理,以让Selenium截获所有的HTTP请求。Selenium RC与WebDriver最为显著的差异体现在API的组织上。Selenium RC采用了基于字典方式的API,而WebDriver的API则更加地面向对象。此外,Selenium Core基本上是JavaScript应用,主要运行在浏览器的安全沙箱中。
理论教育 2023-10-25

基于Selenium2的Web自动化测试

相较传统桌面软件的自动化测试,Web自动化测试指的是Web应用系统从用户界面层面进行的自动化测试,通过用户界面测试内部的业务逻辑。Web自动化测试的自身特点如下:1)Web页面上出现的元素可能具有不确定性。Web自动化测试一直都不是一件容易的事情。云计算又能为Web自动化测试带来哪些机遇呢?关于Web自动化测试,有如此多的问题摆在我们面前,就让我们勇敢地去面对和迎接这些新的挑战吧。
理论教育 2023-10-25

Selenium2自动化测试:从入门到精通

Rollup命令用于将一系列Selenium IDE中能用的命令打包在一起。图2.17 126邮箱的“收件箱”文件夹和“已发送”文件夹图2.18 Selenium IDE不使用Rollup功能的测试脚本在Options页面上,有几个选项需要注意:1)Default timeout:默认情况下,timeout的数值为30000ms。图2.20 添加rollup命令使用Rollup后,测试用例的完整步骤如图2.21所示。图2.21 Selenium IDE使用Rollup功能的测试脚本从图2.21中可以看到最显著的差异在于使用了rollup命令以及Target为logincommands,即user-extension.js中定义的rollup规则。可见rollup功能在封装多条相同命令时非常高效。
理论教育 2023-10-25

自动化测试的优点和局限性,以及对投入成本的考虑

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。测试脚本的稳定性决定了自动化测试的维护成本。自动化测试既有自身的优点,也有其局限性。自动化测试不是万能的,需要根据实际情况引入并有的放矢地设定其覆盖率。自动化测试的投入成本,至少要在好几个发布版本之后才能体现其价值。因此对于一次性的软件项目,应该避免采用自动化测试方案。5)自动化测试只是测试工程师的事情,与开发人员没有关系。
理论教育 2023-10-25

SeleniumGrid1.9:从入门到精通

Selenium Grid运用多个机器同时并列运行,目的在于加快测试用例运行的速度,从而减少测试运行的总时间。对于大型测试套件和需要处理海量数据验证的测试套件,Selenium Grid毫无疑问可以节约大量时间。Selenium Grid的另一个优势在于可以通过节省测试时间而更快地将测试结果返还给开发人员。Selenium Grid还可被用于在多种运行环境中进行测试,即并行测试多种浏览器。Selenium Grid包含一个Hub和至少一个Node。
理论教育 2023-10-25

Selenium2自动化测试从入门到精通

2)测试程序打开浏览器,此时Selenium RC Server绑定Selenium Core并自动将它嵌入到浏览器中。3)客户端驱动持续执行测试用例脚本并发送特定的命令到Selenium RC Server。5)浏览器上所有的请求和响应都通过Selenium RC的HTTP代理与实际的Web应用服务器进行交互,并且Selenium RC一旦收到响应就将页面传递给浏览器。但毕竟事物都有更新换代的阶段,Selenium 1也不例外。截至目前,Selenium 1还继续被维护并提供一些Selenium 2尚不支持的功能,如某些编程语言的支持和某些浏览器的支持。
理论教育 2023-10-25

Selenium2自动化测试:AJAX页面交互

AJAX在浏览器与Web服务器之间使用异步数据传输HTTP请求,这样就可以使网页从服务器请求少量的信息,而不是整个页面。使用Selenium IDE测试AJAX页面时会面临的一个问题也正是由于AJAX的异步优势所造成的。下面以jQuery UI中的autocomplete这个demo为例来讲解如何使用Selenium IDE与采用了AJAX技术的页面进行交互,并确保测试用例的正常执行。图2.11 Autocomplete待测试页面使用Selenium IDE完成该测试用例的步骤如下:1)启动Selenium IDE并确保录制键被按下。图2.12 与AJAX页面进行交互的脚本图2.13 waitForTextPresent的Reference信息
理论教育 2023-10-25

Selenium2自动化测试,入门到精通,云计算

迎着云计算普及的春风,并配合Selenium Grid,基于Selenium来完成云端的测试已经变得可行。基于Selenium且比较流行的云测试平台当属Sauce Labs,它是一个提供自动化功能测试的云测试服务公司。而其创始者兼首席技术官就是Selenium的创始人Jason Huggins,可见Sauce Labs的技术实力非同一般。为了应对嵌入式系统的大量普及,尤其是Android和iOS,Jason Huggins又再一次开发了针对嵌入式系统且基于WebDriver的自动化测试框架Appium,并且开源托管在GitHub上。
理论教育 2023-10-25
-已经加载完成-