HTML前端:webdriver流程
2017-12-01  本文已影响223人 
果芽软件
一、取得浏览器的控制
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()