selenium学习
文章平均质量分 73
echo_茵子
这个作者很懒,什么都没留下…
展开
-
利用 Selenium 测试 Ajax 应用程序
Asynchronous JavaScript and XML (Ajax) 是一种用于创建交互式 web 应用程序的 web 开发技术。Ajax 应用程序的一个特征是,不会导致一次重新加载整个页面。相反,浏览器将具有一个对服务器的异步调用以获得数据,并且只刷新当前页面的特定部分。要提高 web 页面的交互性、响应速度和可用性,测试 Ajax 应用程序的过程需要一些改变。我们首先刷新 web 页面,然后就是等待,直到异步调用完成。完成之后,可以继续进行验证。此时,出现适当等待时间的问题。一种原创 2011-06-02 10:24:00 · 798 阅读 · 0 评论 -
Cucumber java + Webdriver (8) 使用命令行风格来编写测试场景(Scenario)
团队最近采用了一种与之前的PageFactory思路完全不一样的模式来完成我们的自动化测试编码 在编写step过程中,有很多非常通用的步骤定义,这些步骤定义可编写大量与之类似的场景,而无需创建太多的步骤定义。即采用一种命令式风格来编写场景步骤,使用fill,press这样的词语,对于这样一种风格有很多争议,但是不管好坏,尝试下总归是有好处的。 这种命令式的风格,是属于用户界面控原创 2016-09-14 16:21:13 · 3140 阅读 · 2 评论 -
Cucumber java + Webdriver (7) 结合Page Object,使用LoadableComponent
进行页面自动化过程中,页面间的跳转经常是比较痛苦的。1、未使用LoadableComponent前的做法比如我们经常需要写一些js的代码来判断页面是否加载完整如:JavascriptExecutor je=(JavascriptExecutor) driver; final String docstate=(String) je.exec原创 2016-09-12 16:16:00 · 1875 阅读 · 0 评论 -
Cucumber java + Webdriver (4) 使用自动化测试的Page对象模式
在BaiduSearchStepfs.java 文件中,我们可看到都是直接用driver对页面进行操作。对于我们刚开始学习来说,这样没问题。但是随着项目的运行,页面多了以后。我们写的用例也多了以后,当开发改变某个页面元素后,那我们需要修改代码的工作量将是非常多。所以如果我们能够用Page模式来管理各个页面,那后面页面元素有改变的话,我们只需要改下具体某个页面的Eelement就可以了1、创建一原创 2015-10-21 11:16:49 · 5734 阅读 · 7 评论 -
Cucumber java + Webdriver (6) Cucumber的数据驱动
在我们测试过程中,经常需要对一个测试场景设计不同的测试数据,比如在设计测试用例时根据等价类划分有效数据和无效数据等。那这些测试用例的自动化过程中,就可以使用数据驱动方式来区分开测试行为和测试数据。 这里我们通过比较常见的“登录CSDN网站”行为来进行我们的练习1、创建一个登录feature在resources下,新建feature目录,新建文件login.feature原创 2015-11-03 19:21:02 · 4234 阅读 · 0 评论 -
Cucumber java + Webdriver (5) Tags的使用
在实际项目中,随着项目的进行,一个测试工程可能由多个feature文件组成,并且每个feature文件中可能也是由多个scenario组成。默认情况下,每次运行是运行所有feature中的所有scenario。这样可能导致正常情况下运行一次测试脚本,需要非常长的时间来等待测试结果。但是实际过程中,测试用例是有优先级等区分的。比如smokeTest、regressionTest等。或者有时候原创 2015-10-21 15:30:31 · 2346 阅读 · 0 评论 -
Cucumber java + Webdriver (2) 开始编写第一个Test
第一个Test,我们写个百度搜索的功能,下面是具体的实现过程1、在intellij idea创建一个Maven项目Cucumber_FirstTest,在pom.xml添加如下依赖具体内容是:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/原创 2015-10-21 10:46:30 · 5713 阅读 · 2 评论 -
Cucumber java + Webdriver (3) 关于RunCukesTest.java 和 BaiduSearchStepfs.java
1、RunCukesTest1.1 用于启动测试上面运行测试的方式,这里也可以用其他启动方式来运行。如在类RunCukesTest.java中,右键点击Run RunCukesTest1.2 RunCukesTest.java内容@RunWith(Cucumber.class)@CucumberOptions( features = {"src原创 2015-10-21 11:00:07 · 2371 阅读 · 1 评论 -
Cucumber java + Webdriver (1) 所需环境的安装
这里可以参考以前文档中的安装步骤http://blog.csdn.net/yan1234abcd/article/details/49155959我们主要是安装下面两个工具就可以1、JDK的安装和JAVA_HOME的配置2、Maven安装及配置后面开始,我们就直接开始练习原创 2015-10-21 10:26:48 · 2441 阅读 · 0 评论 -
如何利用 Ant 构建 Selenium 测试
<br />如何利用 Ant 构建 Selenium 测试<br />诸如 Ant 这样的集成工具可以方便地构建 Selenium 测试和顺畅地运行测试用例,无需单独启动 Selenium 服务器。如果 Selenium 测试由 TestNG 驱动,那么定义清单 1所示 TestNG Ant 任务。清单 1中假设 classpath 是 TestNG.jar 文件的文件路径。<br /><br />清单 1. TestNG Ant 任务<br /> <taskdef resource="testn原创 2011-06-02 10:26:00 · 715 阅读 · 0 评论 -
如何支持测试 HTTPS 网站
<br />随着互联网日益强调信息安全,越来越多的 web 应用程序在使用 SSL 身份认证。Selenium IDE 默认支持 HTTPS,但是 Selenium RC 不是这样的。Internet Explorer 和 Firefox 中的解决方案各不相同。 对于 IE,在 setup 目录下的 SSL 支持文件夹中在安装一个证书。如果使用的版本早于 Selenium-RC 1.0 beta 2,请使用 *iehta 运行模式,对于 Selenium-RC 1.0 beta 2 或更晚的版本,使用 *i原创 2011-06-02 10:23:00 · 1517 阅读 · 0 评论 -
如何处理弹出窗口
<br />一般来说,操作都是在由 Selenium 启动的主窗口中执行。如果您想在一个由 window.open 函数生成的新窗口中执行操作,那么将焦点更换到新窗口。在弹出窗口中执行操作之后,焦点返回到主窗口。处理弹出窗口的过程定义在清单 1中。<br /><br />清单 1. 处理弹出窗口的样例代码<br /> //wait for the popup window with timeout;selenium.waitForPopUp(windowname, timeout); //原创 2011-06-02 10:18:00 · 638 阅读 · 0 评论 -
如何高效地认识不带 ID 属性的 web 元素
<br />使用一个有含义的 ID 或名称是一种高效且方便的定位元素的方式。它也可以改善测试用例的可读性。但是为了每个元素具有一个有含义的、惟一的 ID(尤其是动态元素),Selenium 提供多种策略来认识元素,比如说 Xpath、DOM 和 CSS。<br />下面是一个样例,使用三种策略来定位动态表格中的一个元素。HTML 代码在清单 1 中。<br />清单 1. 第一个表格列的 HTML 代码<br /> <table id="test_table" border="1"> <t原创 2011-06-02 10:21:00 · 701 阅读 · 0 评论 -
如何验证警告/确认/提示信息
如何验证警告/确认/提示信息对于由 window.alert() 生成的警告对话框,使用 selenium.getAlert() 来检索前一操作期间生成的 JavaScript 警告的消息。如果没有警告,该函数将会失败。得到一个警告与手动单击 OK 的结果相同。对于由 window.confirmation() 生成的确认对话框,使用 selenium.getConfirmation() 来检索前一操作期间生成的 JavaScript 确认对话框的消息。默认情况下,该函数会返回 true,与原创 2011-06-02 10:15:00 · 822 阅读 · 0 评论 -
如何处理上载/下载文件窗口
<br />如何处理上载/下载文件窗口<br />Selenium 使用 JavaScript 来模拟操作。因此,它不支持诸如上载窗口、下载窗口或身份认证窗口之类的浏览器元素。对于非主要窗口,配置浏览器跳过弹出窗口。<br /><br />图 1. 安全信息窗口<br /><br /><br />跳过图1 中安全信息窗口的解决方案是打开 Tools > Internet Options > Custom Level。然后启用 Display mixed content。<br />配置 Internet E原创 2011-06-02 10:14:00 · 809 阅读 · 0 评论 -
Appium(7)appium server日志分析
每次运行测试,可以从Appium Server控制台看到有特别多的日志输出,这些日志其实很清楚的显示一个test从启动到case完成的活动过程所以如果能够更好的理解这些日志的内容,会帮助我们更好的理解整个测试流程。下面是一个例子,主要功能是在安卓模拟器上安装dobby,并进行登录。日志的具体内容如下所示:> Launching Appium server with原创 2017-03-07 15:17:52 · 3222 阅读 · 0 评论