软件测试---自动化测试(黑盒测试)

一 . 获取元素定位的方法:

selenium 主要提供了8种定位元素方法:

  • 1. findElement( By.id( 元素的id属性名称 ) );

  • 2. findElement( By.name( 元素的name属性名称 ) );

  • 3. findElement( By.linkText( a标签内的全部文本内容(精确查询) ) );
  • 4. findElement( By.partiallinkText( a标签内的部分文本内容(模糊查询) ) );
  • 5. findElement( By.tagName( 标签名称(a标签填a,input标签填input) ) );
  • 6. findElement( By.className( 元素的class属性名称 ) );
  • 7. findElement( By.cssSelector(元素的selector值(浏览器F12点击标签可以直接复制 ) ) );
  • 8. findElement( By.xpath( 元素的xpath路径  ) );
1. findElement( By.id( 元素的id属性名称 ) );
<a id="reg-cs" class="regist-btn" href="/logout.html">退出</a>

使用 findElement( By.id("reg-cs") );定位

2. findElement( By.name( 元素的name属性名称 ) );
<a id="reg-cs" name="reg-ht" class="regist-btn" href="/logout.html">退出</a>

使用 findElement( By.name( "reg-ht" ) ); 定位

3. findElement( By.linkText( a标签内的全部文本内容(精确查询) ) );
<a id="reg-cs" name="reg-ht" class="regist-btn" href="/logout.html">退出</a>

 使用 findElement( By.linkText( "退出" ) );定位

4 . findElement( By.partiallinkText( a标签内的部分文本内容(模糊查询) ) );

<a id="reg-cs" name="reg-ht" class="regist-btn" href="/logout.html">退出</a>

 使用 findElement( By.partiallinkText( "退" ) );定位

 或

 使用 findElement( By.partiallinkText( "出" ) );定位

5 . findElement( By.tagName( 标签名称(a标签填a,input标签填input) ) );
<a id="reg-cs" name="reg-ht" class="regist-btn" href="/logout.html">退出</a>

 使用 findElement( By.tagName( "a" ) );定位

6 . findElement( By.className( 元素的class属性名称 ) );
<a id="reg-cs" name="reg-ht" class="regist-btn" href="/logout.html">退出</a>

 使用 findElement( By.className( "regist-btn" ) );定位

7 . findElement( By.cssSelector(元素的selector值(浏览器F12点击标签可以直接复制 ) ) );
<a id="reg-cs" name="reg-ht" class="regist-btn" href="/logout.html">退出</a>

使用 findElement( By.cssSelector( "#_widget_849 > div > div.user-info > div.hello.clearfix > a.regist-btn" ) );定位

8 . findElement( By.xpath( 元素的xpath路径  ) );

 使用 findElement( By.xpath( "/html/body/div[4]/div/div[2]/div/div/div/div[1]/div[2]/a[2]" ) );定位

二 . 获取到元素定位后的常用方法:

selenium 主要提供了5种 “常用” 获取到元素定位后的常用方法:

  • 1 . findElement( By.id( 元素的id属性名称 ) ).click()( 点击按钮 )

  • 2 . findElement( By.id( 元素的id属性名称 ) ).clear();  ( 清空输入框的数据 )

  • 3 . findElement( By.id( 元素的id属性名称 ) ).sendkeys( 需要输入的值 ); ( 输入 )

  • 4 . findElement( By.id( 元素的id属性名称 ) ).getText(); ( 获取文本内容 )

  • 5 . findElement( By.id( 元素的id属性名称 ) ).getAttribute("textContent"); (获取隐藏属性的文本内容)

 

三 . 进出iframe

1 . 进入iframe

  • 1 . switchTo().frame(0);  ( 根据索引进入 )

       ( 0代表iframe的索引为第几个 ) 

  • 2 . switchTo().frame( findElement(By.xpath( ) ) );  ( 根据xpath路径进入 )

       ( findElement(By.xpath( ) )代表利用元素定位法的iframe  xpath路径 ) 

  • 2 . switchTo().frame( findElement(By.Id( ) ) );  ( 根据Id进入 )
  • switchTo().frame( findElement(By.name( ) ) );  ( 根据name进入 )
  • switchTo().frame( findElement(By.className( ) ) );  ( 根据className进入 )
  • switchTo().frame( findElement(By.tagName( ) ) );  ( 根据tagName进入 )

2 . 退出iframe

  • 1 . switchTo().defaultContent();  ( 退出 )

3 . 进入动态iframe

  • 1 . switchTo().frame(0);  ( 根据索引进入 )

       ( 0代表iframe的索引为第几个 ) 

  • 2 . findElement(By.xpath( "/html/body/div[4]/div/div[2]" ) )

           WebElement ifame = div.findElement(By.xpath("/html/body/div[4]/div/div[2]/iframe"));

           switchTo().frame( ifame );

       ( 利用元素定位法定位到iframe的父级div,然后利用父级div进入iframe , 最后进入iframe ) 

四 . 断言或做校验方法

1 . 断言用:

  • 1 . Assert.assertTrue( Three.aftText( text ).conteans("退出") ); ( 做断言用)

       ( text 代表利用元素定位法+getText( )获得的 text 文本字符串 ,"退出"代表断言的结果 ) 

  • 2 . Assert.assertEquals(  Three.aftText( text )  ,  "退出"  );  ( 做断言用)       

       ( text 代表利用元素定位法+getText( )获得的 text 文本字符串 ,"退出"代表断言的结果 ) 

2 . 单元测试做数据校验用:

2.1 返回结果为字符串时 : 
  • 1 . Assert.assertTrue( Three.isOneLine(1,2).conteans("退出") ); ( 做校验 )

       ( Three.isOneLine(1,2)代表调用类的方法返回的值 ,"退出"代表调用类应获得的值) 

  • 2 . Assert.assertEquals(  Three.isOneLine(1,2)  ,  "退出"  );  ( 做校验 )       

      ( Three.isOneLine(1,2)代表调用类的方法返回的值 ,"退出"代表调用类应获得的值) 

2.2 返回结果为 boolean 布尔类型时 :

  • 1 . Assert.assertTrue( Three.isOneLine(1,2) ); ( 做校验 ) 

      ( Assert.assertTrue( Three.isOneLine(1,2) )  判断返回的值是否为True ) 

  • 2 . Assert.assertFalse( Three.isOneLine(1,2) ); ( 做校验 ) 

      ( Assert.assertFalse( Three.isOneLine(1,2) )  判断返回的值是否为False ) 

  • 50
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值