一月蔷薇_456 发表于 2018-2-24 17:13:57

Selenium的使用

selenium自动化

特性:
- 可对多个浏览器进行自动化测试,如:Firefox、IE、Chrome
- 支持多种语言,如:Java、Python、C#、PHP、Ruby、Perl
- 支持跨操作系统的自动化测试,如:windows、linux、MAC
- 具有跨平台性
- 开源免费

B/S 是属于web功能自动化测试工具,基于Firefox,当Firefox更新时,selenium也随之更新,selenium
支持最近的Firefox两个版本,现主流的Firefox版本为44.0,相对应的selenium版本为2.53.0

如何使用selenium

selenium定位元素

XPath

相对路径:

//div[@id=’pass-id’]

//相对路径
div标签/div元素
[@] @后面跟的所有都是属性
[@属性 = ‘属性值’]
查找 相对路径下 所有的div 标签中 属性是id = ‘pass - id’ 的标签

//*[@class=’name’]

//相对路径
*代表所有的
查找 相对路径下 所有的 标签中 属性是class = ‘name’ 的标签
绝对路径

.//*[@id=’ECS_MEMBERZONE’]/a/img

*当前位置
// 相对路径
/ 包含关系
查找 当前位置 相对路径下 所有的 标签中 属性是id=’ECS_MEMBERZONE’ 的标签 找到这个元素
以后 包含的第一个a标签 包含的img标签

绝对路径

html/body/div/div
XPath使用步骤

1.创建火狐浏览器的对象
2.通过对象名.方法名 打开被测系统
3.查找定位元素实现功能
4.关闭被测系统

代码演示:
package XPath1;

import org.openqa.selenium.By;
//导入WebDriver和FirefoxDriver包
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class Demo {

    public static void main(String[] args) {

      //创建对象
      WebDriver d = new FirefoxDriver();

      //对象名.方法名
      d.get("http://192.168.1.102/ecshop/");

      //1.定位元素
      //.//*[@id='ECS_MEMBERZONE']/a/img
      //By.xpath("//*[@id='ECS_MEMBERZONE']/a/img");

      //2.查找元素的方法
      //d.findElement(By.xpath("//*[@id='ECS_MEMBERZONE']/a/img"));

      //3.找到该元素动作
      //首页点击登录
      d.findElement(By.xpath("//*[@id='ECS_MEMBERZONE']/a/img")).click();

      //会员登录输入用户名
      d.findElement(By.xpath("html/body/div/div/form/table/tbody/tr/td/input")).sendKeys("abcd");

      //会员登录输入密码
      d.findElement(By.xpath("html/body/div/div/form/table/tbody/tr/td/input")).sendKeys("123456");

      //点击登录
      d.findElement(By.xpath("html/body/div/div/form/table/tbody/tr/td/input")).click();   

      //4.关闭被测系统
      d.quit();      
    }
}下拉列表的三种方法
//第一种方法
//一个下拉列表的插件
Select s = new Select(d.findElement(By.xpath("//*[@id='category']")));

//对象名.selectByValue("值");
s.selectByValue("2");

//第二种方法
//通过下标获取
Select s = new Select(d.findElement(By.xpath("//*[@id='category']")));

s.selectByIndex(2);

//第三种方法
//直接点开下拉列表选中其中一项右键获取地址
//.//*[@id='category']/option
d.findElement(By.xpath("//*[@id='category']/option")).click();CSS使用步骤
package TestNG_Demo;

import org.testng.annotations.Test;
import org.testng.annotations.BeforeClass;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterClass;

public class CSS_Demo {
    WebDriver s;

@BeforeClass
public void beforeClass() {
      s = new FirefoxDriver();
}

@Test
public void f() {
      s.get("http://192.168.1.102/ecshop/");
      s.findElement(By.cssSelector("#ECS_MEMBERZONE>a>img")).click();
      s.findElement(By.cssSelector(".inputBg")).sendKeys("喵喵");
      s.findElement(By.cssSelector(".inputBg")).sendKeys("123456");
      s.findElement(By.cssSelector(".us_Submit")).click();

}

@AfterClass
public void afterClass() {
}

}

页: [1]
查看完整版本: Selenium的使用