一、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)的更多相关文章

  1. 面试准备——(三)Selenium(1)基础问题及自动化测试

    转载:https://www.cnblogs.com/lesleysbw/p/6413880.html 面试准备——(三)Selenium(1)基础问题及自动化测试   滴滴面试: 1. 自己负责哪部 ...

  2. Selenium(Webdriver)自动化测试常问问题

    http://blog.sina.com.cn/s/blog_c189e2590102w3bv.html Selenium(Webdriver)自动化测试常问问题 (1)selenium中如何保证操作 ...

  3. 初识Selenium(三)

    浅谈基于Selenium的Web自动化测试框架 发表于:2011-4-25 10:58  作者:邵育亮   来源:51Testing软件测试网原创 字体:大 中 小 | 上一篇 | 下一篇 | 打印 ...

  4. 初识Selenium(一)

    Selenium入门相关PPT参考网址:http://wenku.baidu.com/view/d1e7d90390c69ec3d5bb7565.html?from=search 内容引用网址:htt ...

  5. py库: Selenium (自动化测试)

    http://blog.csdn.net/liujingqiu/article/details/50458553 http://www.cnblogs.com/zhaof/p/6953241.html ...

  6. selenium(五)伪造浏览器

    简介: 这个就比较好玩了,大家还记得以前的QQ小尾巴么?还有百度贴吧的小尾巴,就是那个来自***的iphone7,这个功能. 这个功能是基于浏览器的user-agent功能实现的. 还是httpbin ...

  7. Selenium(Webdriver)自动化测试常问到的问题解答(转自:潜龙0318)

    今天朋友问我了几个关于Selenium自动化测试的问题,我看了一下感觉还比较典型.结合我以往自动化测试的经验,给出了一些儿粗浅的答案,希望能帮大家,如果大家有什么好的看法,希望相互交流,相互学习! ( ...

  8. Selenium(一)自动化测试简介

    1.软件开发流程 产品分析需求--架构师确认系统包含哪些模块--开发编码--开发和测试一起做单元测试--测试开展版本(集成)测试(使用手工测试,测试通过后,才开始设计脚本)--测试开展系统测试--最后 ...

  9. Selenium(6)

    一.定位页面元素 1.高级定位:层级定位 思路:先定位到祖先节点,在定位该祖先节点范围内的子节点 2.高级定位:Xpath定位(重点) (1)Xpath定位:Xpath就是一个表达式,表示元素的路径, ...

  10. Selenium(4)

    练习1:使用selenium+firefox测试ecshop登录过程 一.WebDriver 1.启动浏览器 (1)启动Firefox浏览器 a.启动默认路径下的浏览器 WebDriver drive ...

随机推荐

  1. 三、使用VSCode配置简单的vue项目

    由于最近要使用的项目框架为前后端分离的,采用的是vue.js+webAPI的形式进行开发的.因为之前我没有接触过vue.js,也只是通过视频文档做了一些简单的练习.今天技术主管说让大家熟悉下VSCod ...

  2. python 读取文件夹中所有同类型的文件 并用pandas合并

    import globimport osimport pandas as pd read_path = 'D:/Data' # 要读取的文件夹的地址read_excel = glob.glob(os. ...

  3. 基于vue-cli项目打包慢的定位优化过程

    入职一周后,上一个前端就离职了(超级坑爹的),留下了一个比较棘手的问题,就是基于vue-cli的项目打包超级慢,我接手项目的时候,打包需要45min(上个离职者也不知道原因),经过3个月之后,随着项目 ...

  4. python之迭代器、可迭代对象、生成器、生成器对象、枚举类型

    迭代器 # 迭代器:循环反馈的容器(集合类型)# -- 不同于索引取值,但也可以循环的从容器对象中从前往后逐个返回内部的值​# 优点:不依赖索引,完成取值# 缺点:不能计算长度,不能指定位取值(只能从 ...

  5. pycharm中文专业版安装使用

    激活码 MTW881U3Z5-eyJsaWNlbnNlSWQiOiJNVFc4ODFVM1o1IiwibGljZW5zZWVOYW1lIjoiTnNzIEltIiwiYXNzaWduZWVOYW1lI ...

  6. [Agc036C]Triangle_数学

    Triangle 题目链接:https://atcoder.jp/contests/agc036/tasks/agc036_a 题解: 我开始的时候以为是$Millar-Rabin$加$Pollard ...

  7. 德州扑克AK打法攻略

    AK是所有德扑网游中最受争议的底牌,也是一副令人又爱又恨的底牌.<德州扑克培训大师>根据国内德州扑克网游特性,为大家制作了第一套AK打法攻略,希望所有玩家从今天开始能正确认识AK,发挥AK ...

  8. 查找担保圈-step6-对被包含过的组进行清理,只保留未被包含过的组

    USE [test] GO /****** Object: StoredProcedure [dbo].[p04_get_groupno_cleared] Script Date: 2019/7/8 ...

  9. SpringBoot起飞系列-拦截器和统一错误处理(七)

    一.前言 在前边部分我们已经学会了基本的web开发流程,在web开发中,我们通常会对请求做统一处理,比如未登录的用户要拦截掉相关请求,报错页面统一显示等等,这些都需要配置,可以大大简化我们的代码,实现 ...

  10. 1-python django的创建

    一.Virtualenv(我的python环境是3.7) 1.虚拟环境创建(针对python版本和django的版本不一致的) 输入 pip install virtuallenv ,看到如下信息就是 ...