-
界面自动化准备阶段
-
界面自动化——环境准备
-
界面自动化——新建工程
-
界面自动化——新建工程一
-
界面自动化——新建工程二
-
界面自动化——小结
-
环境准备
- maven软件:用来管理依赖包
- maven工程project:支持调用maven仓库依赖包的工程
- maven仓库repository:存放依赖包
- 远程仓库remote repository:全球唯一
- 本地仓库local repository:每台需要调用依赖包的pc均要配备一个
- pom.xml配置文件:用来配置依赖包(选择对应的jar包)
- dependencies依赖列表:个数不定,一直到没有依赖
- dependency依赖项:对应组件的依赖包如chromedriver
-
新建工程
- groupId:所属法人名称,组织结构的域名反写
- artifactId:项目/产品名称
- version:版本
-
maven工程中selenium依赖的jar包及文件
- 远程仓库下载selenium依赖的jar包及文件
- 下载内容1:.jar文件
- 下载内容2:.pom文件
- 文件内容:
- .jar文件内容:.class代码
- .pom文件内容:.class代码依赖的jar包
- 远程仓库下载selenium依赖的jar包及文件
配置maven
配置项 | 配置诠释 |
---|---|
maven配置文件:settings.xml | 先安装maven,配置本地仓库(自定义)和远程仓库(默认) |
环境变量:MAVEN_HOME 、path | 配置环境变量 |
IDE(如MyEclipse)配置:指定maven | 开发工具指定maven的安装路径和配置文件路径 |
工程配置文件:pom.xml | 新建工程,配置依赖包 |
-
界面自动化——环境搭建流程图
-
界面自动化——如何选择工程类型
界面自动化——环境准备小结
搭建环境 | 具体事项 |
---|---|
软件环境 | ①浏览器 ②webdriver.exe驱动器 ②maven selenium代码依赖包 ④maven testNG管理测试代码 |
配置环境 | ①配置maven本身(config/settings.xml配置本地仓库路径) ②配置环境变量(MAVEN_HOME和path) ③集成到开发工具(MyEclipse配置:maven安装路径+settings.xml路径) ④开发工具里面键maven工程 ⑤配置工程的依赖jar包(pom.xml) |
写代码 | 以上准备好之后就可以写代码了 |
-
界面自动化——java工程代码组成
界面自动化——如何找某个jar包的dependency(selenium-java)
-
界面自动化——如何搭testNG的环境
-
界面自动化——依赖关系是怎么运行的
-
界面自动化——如何手动添加jar包
-
界面自动化正式操作
- 界面自动化——第1步:指定驱动程序路径
//设置环境变量,指定chromedriver的驱动路径
System.setProperty("webdriver.chrome.driver","chromrdriver.exe存放路径");
//应用工程和chromedriver是不同的程序,怎么关联起来,用环境变量
System.setProperty("webdriver.chrome.driver",
"src/main/resources/selenium/driver/chromedriver.exe");
- 界面自动化——第2步:打开浏览器(实例化webdriver对象)
//设置浏览器的参数
ChromeOptions options=new ChromeOptions();
//最大化浏览器
options.AddArguments("--test-type","--start-maximized");
//指定浏览器位置
//options.setBinary("C:/xxxx/chrome.exe");
//打开浏览器
WebDriver driver=new ChromeDriver(options);
driver就是操作的核心对象,通过它遥控浏览器
- 界面自动化——第3步:关闭浏览器
//关闭浏览器,driver.close()是关闭当前窗口
driver.quit();
driver.quit();//关闭浏览器
driver.close();//关闭窗口
-
界面自动化——第4步:设置等待时间
- 线程休眠
try{
Thread.sleep(3000);
} catch(InterruptedExcepton e){
//TODO Auto-generated catch block
e.printStackTrace();
}
- 隐式等待
//设置界面加载等待时间,全局设置,作用于driver,对所有后续界面加载都有效
driver.manage().timeouts().pageLoadTimeOut(3000,TimeUnit.MILLISECONDS);
driver.get("url");
//设置元素定位超时等待时间,全局设置,作用于driver,对所有后续元素定位都有效
driver.manage().timeouts().implicitlyWait(3000,TimeUnit.MILLISECONDS);
WebElement element=driver findElement(By.xpath("//xxx[@k='v']"));
- 显示等待
WebDriverWait wait=new WebDriverWait(driver,2);
wait until(new ExpectedCondition<Boolean>(){
public Boolean apply(WebDriver d){
boolean loadcomplete=d.findElement(By.xpath("//xxxx[@k='v']")).isDisplayed();
return loadcomplete;
}
});
- 线程等待
//线程等待
THread.sleep(毫秒);
//异常
expection
//异常捕获(处理)
try{
要监控的代码
} catch(Exception e){
出异常后的处理代码
}
-
界面自动化——异常处理
-
界面自动化——第5步:打开测试页面
-
界面自动化——第6步:定位元素-操作元素(获取元素属性-修改元素属性-操作元素)
-
界面自动化——第7步:定位元素
-
界面自动化——第8步:写xpath路径
-
界面自动化——第9步:定位元素,操作元素
-
界面自动化——第10步:浏览器的操作
-
中级班学习架构