51Testing软件测试论坛
标题:
Selenium的使用
[打印本页]
作者:
一月蔷薇_456
时间:
2018-2-24 17:13
标题:
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[1]/img
*当前位置
// 相对路径
/ 包含关系
查找 当前位置 相对路径下 所有的 标签中 属性是id=’ECS_MEMBERZONE’ 的标签 找到这个元素
以后 包含的第一个a标签 包含的img标签
绝对路径
html/body/div[6]/div[1]
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[1]/img
//By.xpath("//*[@id='ECS_MEMBERZONE']/a[1]/img");
//2.查找元素的方法
//d.findElement(By.xpath("//*[@id='ECS_MEMBERZONE']/a[1]/img"));
//3.找到该元素动作
//首页点击登录
d.findElement(By.xpath("//*[@id='ECS_MEMBERZONE']/a[1]/img")).click();
//会员登录输入用户名
d.findElement(By.xpath("html/body/div[7]/div[1]/form/table/tbody/tr[1]/td[2]/input")).sendKeys("abcd");
//会员登录输入密码
d.findElement(By.xpath("html/body/div[7]/div[1]/form/table/tbody/tr[2]/td[2]/input")).sendKeys("123456");
//点击登录
d.findElement(By.xpath("html/body/div[7]/div[1]/form/table/tbody/tr[4]/td[2]/input[3]")).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[13]
d.findElement(By.xpath("//*[@id='category']/option[13]")).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[src*='log']")).click();
s.findElement(By.cssSelector(".inputBg[size='25']")).sendKeys("喵喵");
s.findElement(By.cssSelector(".inputBg[size='15']")).sendKeys("123456");
s.findElement(By.cssSelector(".us_Submit")).click();
}
@AfterClass
public void afterClass() {
}
}
复制代码
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2