晋城市 制作网站,合肥网页设计公司校企合作,做网站 要学 什么语言,软件项目管理计划书一、环境搭建#xff08;以java为例#xff09;
1.下载chrome浏览器
https://www.google.cn/intl/zh-CN/chrome/
2.查看chrome浏览器版本
设置关于chrome 3.下载chrome浏览器驱动
下载浏览器对应版本的
ChromeDriver - WebDriver for Chrome - Downloads
120以上版本以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 --dependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-java/artifactIdversion3.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(.前端样式类名));
2id选择器
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.scrollTop10000);
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 actionnew Actions(webDriver);//找到按钮
WebElement target webDriver.findElement(By.cssSelector(.a3));//鼠标移动到这个按钮
action.moveToElement(target).contextClick().perform();
九、选择框
List WebElement webElementswebDriver.findElements(By.cssSelector(input));for(int i0;iwebElements.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 selectnew 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_handlewebDriver.getWindowHandle();//当前浏览器当前所有句柄SetString all_handleswebDriver.getWindowHandles();String target;for(String temp :all_handles){targettemp;}//切换窗口句柄webDriver.switchTo().window(target); 十五、截图
下载依赖
dependencygroupIdcommons-io/groupIdartifactIdcommons-io/artifactIdversion2.11.0/version
/dependency File file((TakesScreenshot) webDriver).getScreenshotAs(OutputType.FILE);
//file保存磁盘FileUtils.copyFile(file,new File(保存路径));