0
点赞
收藏
分享

微信扫一扫

【Rust详细学习路线】讲解

殇感故事 2024-02-29 阅读 7

一、环境搭建(以java为例)

1.下载chrome浏览器

https://www.google.cn/intl/zh-CN/chrome/

2.查看chrome浏览器版本

设置+关于chrome

3.下载chrome浏览器驱动

下载浏览器对应版本的

ChromeDriver - WebDriver for Chrome - Downloads

120以上版本:Chrome for Testing availability

4.配置环境变量

点击我的电脑/此电脑>>右键点击属性>>点击高级系统设置>>环境变量>>系统变量。

点击系统变量中的path,点击新增,并将驱动的安装目复制填入后,点击确定。

5.Java创建项目,添加pom文件中添加依赖

<dependencies>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
</dependencies>
import org.openqa.selenium.chrome.ChromeDriver;

public class Main {
public static void main(String[] args) {
WebDriver webDriver = new ChromeDriver();
}
}

二、元素定位

1.CSS选择

(1)类选择器

class=""

webDriver.findElement(By.cssSelector(".前端样式类名"));

(2)id选择器

webDriver.findElement(By.cssSelector("#前端样式类名"));

(3)标签选择器

标签名作为定位

2.xpath

webDriver.findElement(By.xpath("//*[@id=\"s-top-left\"]/a[1]")).click();

(1)绝对路径

(2)相对路径

    相对路径+索引  

    相对路径+属性值

    相对路径+通配符

    相对路径+文本匹配

3.css选择器 vs xpath

CSS选择器定位元素效率高

三、操作测试对象

1.click

点击对象

webDriver.findElement(By.cssSelector("#kw")).click();

2.send_key

在对象上模拟按键输入

webDriver.findElement(By.cssSelector("#kw")).sendKeys("你好");

3.clear

清除对象输入的文本内容

4.submit

提交  

点击元素需是在form标签内

5.text

获取元素文本信息

四、等待

1.sleep(等待时间)

强制等待

2.隐式等待

最长等待某个时间点,获取到页面元素,就执行下面代码,如果这个时间还没有找到元素就报错。

WebDriverWait wait= new WebDriverWait(webDriver,3000);

五、打印信息

1.title

获取title

String title= webDriver.getTitle();

2.获取url

String url= webDriver.getCurrentUrl();

六、浏览器操作

1.浏览器最大化

webDriver.manage().window().maximize();

2.设置浏览器大小

 webDriver.manage().window().setSize(new Dimension(长度,宽度));

3.浏览器前进和后退

后退

webDriver.navigate().back();

前进

webDriver.navigate().forward();
webDriver.navigate().to("网址");

等同于 webDriver.get();

4.滚动条

((JavascriptExecutor)webDriver).executeScript("document.documentElement.scrollTop=10000");

5.关闭浏览器

webDriver.quit();
webDriver.close();

区别:

1.quit关闭整个浏览器,close关闭当前页面

2.quit清空缓存,close不会清空缓存

七、键盘按键

1.键盘按键使用

webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.CONTROL);

2.组合键使用

webDriver.findElement(By.cssSelector("#kw")).sendKeys(Keys.CONTROL,"A");

八、鼠标事件

//创建 Actions
Actions action=new Actions(webDriver);
//找到按钮
WebElement target= webDriver.findElement(By.cssSelector(".a3"));
//鼠标移动到这个按钮
action.moveToElement(target).contextClick().perform();

九、选择框

List <WebElement> webElements=webDriver.findElements(By.cssSelector("input"));
for(int i=0;i<webElements.size();i++){
//getAttribute获取页面上的元素属性
if(webElements.get(i).getAttribute("type").equals("radio")){
webElements.get(i).click();
}
}

十、上传文件

webDriver.get("");
webDriver.findElement(By.xpath("/html/body/input")).sendKeys("上传文件名");

十一、frame

webDriver.switchTo().frame("id名");

十二、下拉框

 WebElement webElement= webDriver.findElement(By.cssSelector("#ShippingMethod"));
Select select=new Select(webElement);
select.selectByIndex(1);
select.selectByValue("8.34");

十三、alert、confirm、prompt 的处理

text 返回alert/confirm/prompt 中的文字信息
accept 点击确认按钮
dismiss 点击取消按钮,如果有的话
send_keys 输入值,如果alert 没有对话框就不能用了,不然会报错

//输入弹窗
webDriver.switchTo().alert().sendKeys("name");
//点击确定
webDriver.switchTo().alert().accept();
//点击取消
webDriver.switchTo().alert().dismiss();

十四、窗口切换

 //当前窗口句柄
String cur_handle=webDriver.getWindowHandle();
//当前浏览器当前所有句柄
Set<String> all_handles=webDriver.getWindowHandles();
String target="";
for(String temp :all_handles){
target=temp;
}
//切换窗口句柄
webDriver.switchTo().window(target);

十五、截图

下载依赖

<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
 File file=((TakesScreenshot) webDriver).getScreenshotAs(OutputType.FILE);
//file保存磁盘
FileUtils.copyFile(file,new File("保存路径"));
举报

相关推荐

0 条评论