Selenium(5)
一、WebDriver结合Junit的使用
1、Junit中常用的断言
(1)assertEquals:断言实际结果与预期结果是否相等
Equals:相等
格式:assertEquals(预期值,实际值);
(2)assertTrue:断言结果是否为真,True
格式:assertTrue(布尔值)
(3)assertFalse:断言结果是否为假,False
格式:assertTrue(布尔值)
练习1:在TestChromeEcshopSearch类中添加一条测试用例,增加一个测试方法
a.点击"登录"按钮
b.输入用户名:testing
c.输入密码:123456
d.点击"立即登陆"按钮
e.验证testing是否显示在界面上
f.点击"退出"按钮
g.验证"登录"是否出现
2、在其他浏览器中运行从IDE拷贝的代码
(1)修改@Before方法中的代码,为driver赋值一个新的浏览器对象
driver = new ChromeDriver();修改为Chrome
driver = new InternetExplorerDriver();修改为IE
注意:不要为driver重新定义,如下:
WebDriver driver = new ChromeDriver();错误
(2)需要指定浏览器的Driver
System.setProperty("webdriver.chrome.driver","driver的路径");
3、在一个Junit Test Case测试类中增加测试方法:
(1)使用IDE录制测试用例的步骤
(2)在测试类中创建一个测试方法
@Test
public void 测试用例名称(){}
(3)把IDE中的测试步骤拷贝到测试类的方法中
注意:
a.一个测试类中放测试一个被测系统的测试用例
b.要想运行一条测试用例,选中测试用例名称,右击运行
练习3:分别在Firefox、chrome、IE中测试message程序
a.测试类中有两条测试用例
b.第一条用例输入:Rose、Rose@tedu.cn、Hello,Rose
c.第二条用例输入:Peter、Peter@tedu.cn、Hello,Peter
二、定位页面元素
1、id定位:使用页面元素的id属性值来定位页面元素,建议使用的定位方式
例如:
driver.findElement(By.id("username")).
sendKeys("test");
练习4:书写完成Ecshop输入关键字"手机",等待5000毫秒
注意:如果元素的id是动态的,就不能使用id定位方式进行定位
2、name定位:使用name属性的值来定位
例如:
driver.findElement(By.name("imageField")).click();
练习5:在name.html页面,使用name定位输入用户名、密码
练习6:书写代码点击Ecshop"搜索"按钮
3、linkText定位,使用链接页面元素中的文本来定位
例如:
driver.findElement(By.linkText("链接到id.html")).click();
练习7:在TestEcshop.java中新增一个测试方法
a.点击"查看购物车"
b.点击"选购中心"
c.点击"2.6英寸"
d.点击"诺基亚N85"
e.点击"您的购物车中有......."
4、partialLinkText定位:通过一部分链接文本定位元素
例如:
driver.findElement(By.partialLinkText("您的购物车中有")).click();
5、className定位:通过元素的class属性值去查找元素,不建议在整个网页中使用className定位元素,建议在层级定位中使用
例如:
driver.findElement(By.className("go")).click();
6、tagName定位:通过元素的标签名称去查找元素,不建议在整个网页中使用,建议在层级定位中使用
<html><head><body><a><input><button>
WebDriver driver = new FirefoxDriver();
driver.findElement(By.id("101010")).Click();
driver.findElement(By.name("图片")).Click();
driver.findElement(By.cpu("4hz")).开机;
driver.findElement(By.衣服颜色("红色")).解决问题;
<教室>
<cpu="4hz" 分辨率="1024*" m="8G">戴尔电脑
<衣服颜色="红色" name="花花">老师
<id="010" 头发="黑色" 衣服颜色="红色">班长
</教室>
<html>
<head></head>
<body>
<id="101010" name="图片" 颜色="蓝色">logo图片
<name="链接" 形状="宽的" 颜色="绿色">购买链接
<>用户名输入框
<>类型下拉框
</body>
</html>
Junit代码 package com.day05.www; import junit.framework.JUnit4TestAdapter;
import junit.framework.Test;
import junit.framework.TestSuite;
public class AllTest { public static Test suite() {
TestSuite suite = new TestSuite(); //运行TestIEMessage测试类
suite.addTest(
new JUnit4TestAdapter(
TestIEMessage.class));
//运行TestFirefoxMessage测试类
suite.addTest(
new JUnit4TestAdapter(
TestFirefoxMessage.class));
//运行TestChromeMessage测试类
suite.addTest(
new JUnit4TestAdapter(
TestChromeMessage.class));
//运行TestChromeEcshopSearch测试类
suite.addTest(
new JUnit4TestAdapter(
TestChromeEcshopSearch.class));
//运行TestFirefoxEcshopSearch测试类
suite.addTest(new JUnit4TestAdapter(
TestFirefoxEcshopSearch.class)); return suite;
} public static void main(String[] args) {
junit.textui.TestRunner.run(suite());
}
}
Selenium(5)的更多相关文章
- 面试准备——(三)Selenium(1)基础问题及自动化测试
转载:https://www.cnblogs.com/lesleysbw/p/6413880.html 面试准备——(三)Selenium(1)基础问题及自动化测试 滴滴面试: 1. 自己负责哪部 ...
- Selenium(Webdriver)自动化测试常问问题
http://blog.sina.com.cn/s/blog_c189e2590102w3bv.html Selenium(Webdriver)自动化测试常问问题 (1)selenium中如何保证操作 ...
- 初识Selenium(三)
浅谈基于Selenium的Web自动化测试框架 发表于:2011-4-25 10:58 作者:邵育亮 来源:51Testing软件测试网原创 字体:大 中 小 | 上一篇 | 下一篇 | 打印 ...
- 初识Selenium(一)
Selenium入门相关PPT参考网址:http://wenku.baidu.com/view/d1e7d90390c69ec3d5bb7565.html?from=search 内容引用网址:htt ...
- py库: Selenium (自动化测试)
http://blog.csdn.net/liujingqiu/article/details/50458553 http://www.cnblogs.com/zhaof/p/6953241.html ...
- selenium(五)伪造浏览器
简介: 这个就比较好玩了,大家还记得以前的QQ小尾巴么?还有百度贴吧的小尾巴,就是那个来自***的iphone7,这个功能. 这个功能是基于浏览器的user-agent功能实现的. 还是httpbin ...
- Selenium(Webdriver)自动化测试常问到的问题解答(转自:潜龙0318)
今天朋友问我了几个关于Selenium自动化测试的问题,我看了一下感觉还比较典型.结合我以往自动化测试的经验,给出了一些儿粗浅的答案,希望能帮大家,如果大家有什么好的看法,希望相互交流,相互学习! ( ...
- Selenium(一)自动化测试简介
1.软件开发流程 产品分析需求--架构师确认系统包含哪些模块--开发编码--开发和测试一起做单元测试--测试开展版本(集成)测试(使用手工测试,测试通过后,才开始设计脚本)--测试开展系统测试--最后 ...
- Selenium(6)
一.定位页面元素 1.高级定位:层级定位 思路:先定位到祖先节点,在定位该祖先节点范围内的子节点 2.高级定位:Xpath定位(重点) (1)Xpath定位:Xpath就是一个表达式,表示元素的路径, ...
- Selenium(4)
练习1:使用selenium+firefox测试ecshop登录过程 一.WebDriver 1.启动浏览器 (1)启动Firefox浏览器 a.启动默认路径下的浏览器 WebDriver drive ...
随机推荐
- Vue和其他框架的区别
原文地址 React React 和 Vue 有许多相似之处,它们都有: 使用 Virtual DOM 提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件. 将注意力集 ...
- 图文详解 : 什么是版本控制?Eclipse配置SVN和IDEA配置GIT教程
前言 虽然在工作中, VCS已然配置妥当, 我们敲好的业务只需要Commit&push提交就好, 但是不妨碍我们了解什么是版本控制, 为什么要使用这类工具? ps.最近项目里的小伙伴想在自己家 ...
- 【052-week 预习周】学习总结
目录 学习手册 学习理念 学员精选 课前准备 概览 数据结构思维导图 算法思维导图 学习手册 学习理念 让优秀的人一起学习 师傅领进门,修行靠个人 学员精选 稻盛和夫"六项精进" ...
- 【无线安全实践入门】破解WiFi密码的多个方法
本文希望可以帮助到想要学习接触此方面.或兴趣使然的你,让你有个大概的印象. 文中可能存在错误操作或错误理解,望大家不吝指正. !阅前须知! 本文是基于我几年前的一本笔记本,上面记录了我学习网络基础时的 ...
- 【并行计算-CUDA开发】#pragma unroll伪编译指令的使用
#pragma宏命令主要是改变编译器的编译行为,其他的参数网上资料比较多,我只想简单说下#pragma unroll的用法,因为网上的资料比较少,而且说的比较笼统,请看下面的一段代码 int main ...
- 【并行计算-CUDA开发】GPU---并行计算利器
1 GPU是什么 如图1所示,这台PC机与普通PC机不同的是这里插了7张显卡,左下角是显卡,在中间的就是GPU芯片.显卡的处理器称为图形处理器(GPU),它是显卡的"心脏",与CP ...
- C# MVC MVP
https://www.codeproject.com/Articles/613682/Your-first-program-using-MVC-pattern-with-Csharp-W https ...
- PTA (Advanced Level)1082.Read Number in Chinese
Given an integer with no more than 9 digits, you are supposed to read it in the traditional Chinese ...
- PHPexcel使用 技巧
phpexcel不用多说了 导出表格时经常会用到 本帖主要记录一下几个经常用到的操作 # 设置自动换行 $PHPExcel->getActiveSheet()->getStyle(&q ...
- lnmp1.5部署laravel项目
毕竟laravel是十分有魅力的框架,忍不住想要深入的了解她,费话不多说,直入正题吧 1.composer切换国内镜像源:composer config -g repo.packagist compo ...