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() {
  }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值