Selenium
Selenium
只是web端的应用测试工具
元素定位八大法则
1、id
driver.findElement(By.id(“kw”)).sendKeys(“java”);
driver.findElement(By.id(“su”)).click();
就像人的身份证,正确的情况下,不会有其他元素的id与之相等
2、name
像是人的名字,有可能重复,如果遇到多个同样的标签,返回第一个
3、class
标签样式,该方法不常用,因为CalssName内容过多,且存在分隔符,所以定位时容易解析错误
4、tagName
依据标签名进行定位,只在特定的情况下使用,例如获取表单数据时偶尔会使用
5、xpath
使用率最高的一种定位方式,类似于文件管理的一种定位方式,将元素划分出路径,依据路径进行元素定位
绝对路径:html/body/div/div/span/input
相对路径://*[@id=“kw”](//表示根目录“html”,*表示所有元素,@id表示元素有一个id的属性,kw表示属性的值)
该方法在 IE中,无法被很好地支持
6、CSS Selector
对于仅限于ie浏览器运行web系统系统进行元素定位,推荐使用
driver.findElementBy.cssSelector("#su")
7、LinkText
专门用于定位连接的定位方法
8、PartialLinkText
专门用于定位连接的定位方法,进行模糊定位,类似于sql语句中的like %%
Selenium 方法
9、manage()
是一个管理的方法
10、window()
是一个界面管理得方法
11、maximize()
是窗口最大化的方法
12、driver.manage().window().maximize(); 打开一个页面之后用此代码进行窗口最大化
13、get()
在当前浏览器的窗口加载一个web页面
driver.get(“https://www.baidu.com”); 打开百度网页
14、implicitlyWait()
隐式时间等待
15、setScriptTimeout()
设置规定的时间内
16、pageLoadTimeout()
网页加载超时
17、getTitle()
获取当前页面标题
18、getCurrentUrl()
获取当前页面地址
19、getPageSource()
获取当前页面源码
20、getWindowHandle()
获取当前页面句柄
21、window()接口
在浏览器启动的代码中,有一段关于window接口的调用,这篇文章就是来解释介绍这个接口的。代码如下
driver.manage().window().maxmize();
window接口主要是用来控制浏览器窗口的设置。例如大小、最大、最小、全屏、位置等等。
void setSize(Dimension targetSize):自定义一个窗口的大小。注意targetSize是一个类,所以我们要提前设置好。
Dimension getSize():获取窗口的大小。
代码举例如下
Dimension targetSize = new Dimension(1024, 768); //设置窗口大小为1024*768
driver.manage().window().setSize(targetSize);
System.out.println(driver.manage().window().getSize());
void setPosition(Point targetPosition):自定义浏览器窗口出现的位置。已像素点定位。注意targetPosition是一个类,所以我们要提前设置好。
Point getPosition():获取窗口位置信息。
代码举例如下
Point targetPosition = new Point(300, 600); //设置窗口左上角那个点出现的位置为(300,600)
driver.manage().window().setPosition(targetPosition);
System.out.println(driver.manage().window().getPosition());
void maxmize():窗口最大化。
void fullscreen():窗口全屏化。
以上就是关于window接口的介绍使用了。
void setSize(Dimension targetSize);
Dimension getSize();
Dimension targetSize = new Dimension(1024, 768); //设置窗口大小为1024*768
driver.manage().window().setSize(targetSize);
//将设置的窗口大小设置给winow
System.out.println(driver.manage().window().getSize());//取得设置的窗口大小
void setPosition(Point targetPosition);
Point getPosition();
Point targetPosition = new Point(300, 600); //设置窗口左上角那个点出现的位置为(300,600)
driver.manage().window().setPosition(targetPosition);//将设置窗口左上角那个点的出现位置传给window
System.out.println(driver.manage().window().getPosition());//取得窗口左上角那个点出现的位置
22、Navigate接口
public void to(String url);//用来加载网页
driver.navigate().to(“http://www.baidu.com”);
public void back();//后退
driver.navigate().back();
public void forward();//前进
driver.navigate().forward();
public void refresh();//刷新
driver.navigate().refresh();
23、clear()
清除输入框的内容
WebElement ele= driver.findElement(By.id(“kw”));
ele.sendKeys(“java教程”);
Thread.sleep(2000);
ele.clear();
24、close()
关闭当前窗口,如果当前只有一个窗口就关闭浏览器,有多个窗口就关闭当前窗口
25、quit()
不管打开多少窗口,直接关闭浏览器
26、switchTo()
用来切换窗口的
用法:
driver.switchTo().window(handles);
27、getText()
获取文本
WebElement ele = driver.findElement(By.xpath("//*[@id=“mainBox”]/main/div[2]/div[21]/h4/a"));
String str = ele.getText();
28、Select类
select类可以用构造方法接受WebElement对象
29、Alert接口
如何切换到alert弹框
driver.switchTo().alert().getText();
driver.switchTo().alert().accept();
public void dismiss();//点击alert弹框上的取消按钮
public void accept();//点击alert弹框上的确定按钮
public String getText();//获取alert弹框内容