UI自动化测试4-公共类和调用

1. 作业解答

上节课给大家的作业是find element by.cssSelector. 我简单举一个例子

WebElement email = driver.findElement(By.cssSelector("#emailLink.ccNoUnderline"));
email.click();
2. 加点小知识
a>浏览器窗口最大化
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
b>延时
Thread.sleep(2000);
这个就代表在当前页面停留2s的时间,防止页面加载缓慢而导致程序报错,其实
有时只是超时问题,程序就会报错,这样很不利于我们测试。
自动化测试 之公共类和调用
Author:Coco Wang
3. 本节内容
我们将按照元素类型来分类
1> <input>…</input>

Q:为什么我们要将这些定位元素的方法放在同一个class里面?
A:这样就可以通过类名来调用,而没有必要通过创建对象来调用。

很明显这里减少了我们的代码量…
Q: 我们怎么调用已经封装好的方法呢?
A: 很简单 “类名.方法()”;

2> <a>…</a> Link

Q:那我们怎么样写这个方法呢?
A:public static WebElement getLinkById(WebDriver driver , String id){
return driver.findElement(By.id(id));
}
大家有没有发现其实和我们上节内容很相似
WebElement element = driver.findElement(By.id(“id”));
element.click();
实际上我们在调用这个方法的时候就是用到return的内容,也就是返回值。
比如: LinkFinder.getLinkById(“id”).click();

3> 我们还有很多元素标签类型比如 :
<div>…</div>
<img>…</img>
<table>…</table>
<span>…</span>等等
我就不一一举例了。
4>大家没有必要现在把所有我们要用的方法都按照元素类型来封装,
我们常用的也就是input,link, button…
以后要是在写脚本的过程中碰到其他的元素类型,我们再封装。前期就
先边写脚本边封装….

时间: 2024-12-15 07:15:23

UI自动化测试4-公共类和调用的相关文章

C# 调用API接口处理公共类 自带JSON实体互转类

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Net.Security; using System.Security.Cryptography.X509Certificates; using System.Text; using System.Threading.Tasks; using System.Web; n

APP的UI自动化测试框架及平台化探索

顾铮,10年+测试及测试开发相关经验,2014年加入京东,曾主导设计开发UI测试框架,参与CI测试平台建设,现负责iOS侧的工具,框架建设.在UI自动化,性能测试,单元测试方面有较深入研究,在App,web端等有较丰富的测试开发和设计经验. >>>> 写在前面 关于UI测试的文章,多数是通过架构的演进,或是重构,或是推翻重做来讲述的.今天我想讲述我的"一步到位"的测试框架设计.当然,这个"一步到位"是加引号的,并不是说没有持续的优化或改进,而

[转]Android UI 自动化测试

介绍 Android测试支持库包含UI自动化模块,它可以对Android应用进行自动黑盒测试.在API Level 18中引入了自动化模块,它允许开发者在组成应用UI的控件上模仿用户行为. 在这个教程中,我将展示如何使用此模块来创建和执行一个基本的UI测试,选择默认的计算器模块进行测试. 先决条件 在使用前,需要具备以下条件: 最新版本的Android Studio 运行Android 4.3或者更高版本的设备或者虚拟器 理解JUnit 1. 安装依赖库 工程中使用UI自动化模块,需要编辑你的工

ftp文件下载公共类

最近做了一个关于ftp文件上传下载的课题,现做一下代码分享 ftp操作公用类 using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using Sys

基于python语言下的UI自动化测试框架搭建(一)

pycharm工程展示 最近在搭一个UI自动化测试框架,想把整个搭建过程分享出来,如果有不对的地方,希望大家能够指正,首先创建一个名称为,antomation_framework_demo的工程文件, pycharm中工程及文件如下图所示: config:文件中包含调用的浏览器驱动及打开的URL地址 framework: 1.包含定义的页面基类,封装常用的页面操作方法 2.包含打开浏览器操作以及在相对路径下获取浏览器driver 3.日志处理方法 logs:执行日志以时间格式保存在该文件夹下,如

如何提高UI自动化测试的质量

背景 项目是基于Ruby on Rails开发的web程序,应该说项目中的测试实践是很好的,具有高覆盖率的单元测试以及比较合理的集成测试.存在的问题是,所有的单元测试和集成测试都是针对后端代码的,前端的JavaSript代码没有单元测试(这个是有历史原因的,暂时没法改变).这也就意味着针对前端UI的修改是没有底层的单元测试来保障的,只能依靠高层级的UI自动化测试和手工测试来保障. 我们最近刚刚完成了一个story,是纯前端的开发工作,结果在上线后发现我们在修改页面模板文件时,忘记了其他地方也在使

Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类

Android公共库--图片缓存 网络缓存 下拉及底部更多ListView 公共类 转载自http://www.trinea.cn/android/android-common-lib/ 介绍总结的一些android公共库,包含缓存(图片缓存.预取缓存.网络缓存).公共View(下拉及底部加载更多ListView.底部加载更多ScrollView.滑动一页Gallery).及Android常用工具类(网络.下载.shell.文件.json等等). TrineaAndroidCommon已开源,地

CodeSmith公共类维护

CodeSmith在使用过程中,我们经常会出现同一个方法在不同的页面调用,如果我们在每个页面都写一个这样的方法,那么代码量非常大,同时如果以后需要修改也要在每个页面分别去修改,这无疑是劳命伤财,如果能够有更好的方法那么又何乐而不为呢.下面提供两种方式: 方法一: 1.创建公共类comm.cs,类里面的内容如下: public string getData() { return "abc"; } 2.调用的cst文件内容如下: <%@ CodeTemplate Language=&

Android Espresso(UI自动化测试)的搭建

Espresso是Google官方提供的Android UI自动化测试的框架. 为什么叫Espresso(浓咖啡),好像是想让Android码农们轻松的写完自动化用例后能享受着咖啡,看着自动化测试"飞". 这是Espresso官方的地址.另外,也推荐大家看这个YouTube上关于Espresso环境搭建的短视频. Espresso环境搭建 下面将基于Android Studio,介绍如何搭建Espresso. 1. 在Android Studio中新建一个Project; 2. 修改P