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()); } }
原文地址:https://www.cnblogs.com/KalosOwen/p/8977071.html