一、取得浏览器的控制
1. 选一种浏览器
IE、Firefox、chrome
2. 下载该浏览器对应的驱动程序
chromedriver.exe
3. 通过maven下载操作驱动器的代码
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<version>2.50.0</version>
<artifactId>selenium-java</artifactId>
</dependency>
4. 启动浏览器
- 把浏览器驱动程序安装路径配置到环境变量
变量名一定不能错 - 调用代码打开浏览器
WebDriver driver=new ChromeDriver();
二、得打开要自动化测试的界面
两种打开界面的方式:
- driver.get("网址");
- driver.navigate().to("网址");
三、不能靠眼睛定位元素,得用代码定位
1)通过标签的特殊属性:
- By.id();
- By.name();
- By.class();
2)使用标准定位语法描述元素,然后去定位
- css选择器
- xpath选择器
xpath语法:
符号 | 含义 | 示例 |
---|---|---|
/ | 绝对路径 | |
// | 相对路径 | |
标签名 | 指定要定位的标签类型 | |
[] | 属性定位器 | 限定标签的属性 |
@属性名 | 标识是属性 | @id='studentId' |
and | 同时满足多个属性条件 | |
or | 满足其中一个属性条件 |
四、定位到元素,进行自动化操作
1. 按钮button
- 标签:input框
- 类型:button
- 操作:click()
2. 文件上传file
- 标签:input框
- 类型:file
- 操作:
- clear();
- sendkeys('文件路径');
3. 下拉框select
- 标签
- select下拉标签
- option选项标签
- 操作
- new Select(定位到的select元素)
- 选择选项
- selectByIndex(序号)
- selectByValue('实际值')
- selectByVisibalText('展现的文字')
4. 单选框
- 标签:input标签
- type属性:radio
- 选项组:name属性,相同的为一组,存放的位置无关
- 操作
- 单个:定位,click()
- 多个:findElements();for循环;click()
5. 多选框
- 标签:input标签
- type属性:checkbox
- 选项组:name属性,相同的为一组,存放的位置无关
- 操作
- 单个:定位,click()
- 多个:findElements();for循环;click()
6. 超链接
- 标签:a标签
- href属性:href="链接的地址"
- 展现文字
- 操作
- 当前窗口打开:click()
- 新标签页打开:shift+ctrl+click()
- Actions actions=new Actions(driver);
- actions.keydwon(Keys.SHIFT).keydown(keys.CONTROL).click().perform()
- 新窗口打开:shit+click()
网友评论