selenium 学习笔记 ---新手学习记录(6) 问题总结(java)
1.查看网页的cookie信息
//查看cookie 登录后的cookie
Set<Cookie> setcoke= driver.manage().getCookies();
for(Cookie str: setcoke){
System.out.println("cookie="+str);
}
for(Iterator<Cookie> iterator = setcoke.iterator();iterator.hasNext();){
System.out.print(iterator.next()+" ******");
}
2.测试数据参数化,数据库,批量化,同时set集合的读取和使用
//测试数据参数化测试
@Test(enabled=true,dataProvider="datas",timeOut=120000,dataProviderClass=dlTest.class)
public void dlTest_6(String users,String pass) throws InterruptedException{
driver=bmm.Login(users, pass, 0);
System.out.println("users="+users);
//查看cookie 登录后的cookie
Set<Cookie> setcoke= driver.manage().getCookies();
for(Cookie str: setcoke){
System.out.println("cookie="+str);
}
/* //查看cookie
for(Iterator<Cookie> iterator = setcoke.iterator();iterator.hasNext();){
System.out.print(iterator.next()+" ******");
} */
String str_dlemail1=driver.findElement(By.xpath("html/body/div[1]/div/div[2]/div")).getText();
System.out.println("dlTest_6实际结果:"+str_dlemail1);
Assert.assertEquals("登录成功", str_dlemail1);
}
//登录数据等同记事本
@DataProvider
public static Object[][] datas(){
return new Object[][]{
new Object[]{"test@qq.com","123456"},
new Object[]{"test1@qq.com","123456"},
};
}
3.invocationCount代表执行次数,timeOut超时时间设置
@Test(enabled = false,invocationCount=1)
4.等待元素加载完成后,在继续执行。
WebDriverWait wait = new WebDriverWait(driver,100);
wait.until(new ExpectedCondition<WebElement>(){
@Override
public WebElement apply(WebDriver d) {
return d.findElement(By.xpath("html/body/div[1]/div/div/div/form/table/tbody/tr[12]/td[2]/div/div/img"));
}});
封装成函数后为:
/**
* 等待元素出现后再执行
* 也就是等待元素对象加载完成
* driver驱动,By对象
* return 元素对象
* */
public WebElement ElementFinish(WebDriver driver,By by ){
WebDriverWait wait = new WebDriverWait(driver,100);
return wait.until(new ExpectedCondition<WebElement>(){
@Override
public WebElement apply(WebDriver d) {
return d.findElement(by);
}});
}
5.操作js代码
//控制滚动条 下拉到最后 把滚动条下拉到最后,
String high="scroll(0,10000);";
((JavascriptExecutor)driver).executeScript(high);
6.判断元素是否存在
WebElement linkUsername = driver.findElement(By.xpath("//a[contains(text(),"+username+")]"));
selenium 学习笔记 ---新手学习记录(6) 问题总结(java)的更多相关文章
- selenium 学习笔记 ---新手学习记录(1) 问题总结
说明:每次学习各种语言时,环境搭建访问国外网址最头疼了,现在只要是工具下载好放到自己网盘,可以随时用. 1.首先工具准备,selenium需要用到的 下载地址 访问密码 ff8f 2.我选择的语言时j ...
- selenium 学习笔记 ---新手学习记录(9) 问题总结(java)
1.百度搜索目标--实例 boolean flag; //点击次数 int shcs=3; int i=0; //窗口焦点控制 String detailWindowHandle = null; // ...
- selenium 学习笔记 ---新手学习记录(2) 问题总结
今天研究了下ie.chrome.firefox浏览器执行脚本 1.首先firefox下执行时,我是安装在d盘了,所以要更改路径 //如果火狐浏览器没有默认安装在C盘,需要制定其路径 System.se ...
- selenium 学习笔记 ---新手学习记录(10) 问题总结(java)--poi--excel 操作
1.当我使用poi想要操作xlsx时,报错,解决方法下载xmlbeans-2.6.0.jar架包,引入即可.点我下载 https://yunpan.cn/cSdVqp6e4v6Jk 访问密码 2c5 ...
- selenium 学习笔记 ---新手学习记录(8) 问题总结(java)
1.获取执行js代码后的返回值 //获取滚动距离 String jl="return $('#chapterul li').height();"; Long jlhq=(Long) ...
- selenium 学习笔记 ---新手学习记录(7) 问题总结(java)
1.想要获取固定ul下所有li的个数 如下图: //获取ul下li的个数 List<WebElement> elements = driver.findElement(By.id(&qu ...
- selenium 学习笔记 ---新手学习记录(5) 问题总结(java)
1.今天遇到个奇葩问题,iframe有两个id相同的(如下图) 使用driver.switchTo().frame(“frmLinkPage1”);这个无法使用了. 后来改用driver.switch ...
- selenium 学习笔记 ---新手学习记录(4) 问题总结(java)-autoit3脚本使用
1.安装autoit3 下载地址:点我下载 (提取码:9633) 提取码 下载完成后,一直下一步即可 2.上传头像使用脚本 代码如下: ControlFocus("打开",&quo ...
- selenium 学习笔记 ---新手学习记录(3) 问题总结(java)
1.验证码简单处理 /** * 验证码等待输入函数 * */ private void ZcYzm(WebDriver driver){ boolean flag=false; while(flag= ...
随机推荐
- appium locator
If you want to find out more about the UIAutomator library, then it might be helpful to check out ht ...
- CSS3 旋转3D立方体
<meta charset="utf-8"> <style> *{ margin:0px; padding:0px; } @-webkit-keyframe ...
- webpack和webpack-dev-server的区别
第一: webpack只是构建 webpack-dev-server除了构建,还提供web服务 第二:webpack.config.json的路径参数 显然,entry都一样,因为都要知道需要构建 ...
- calltree看代码调用图
calltree是在linux下面看c代码(尤其是复杂的内核代码)的神器. 推荐 calltree+vim + ctags + cscope + taglist [ vim: 搭建vim看代码的环境 ...
- 基于HTTP协议下载文件的实现
最近在开发文件下载的程序,该程序是基于HTTP开发的. 首先是了解了文件传输到客户端的大概格式,然后分析该格式,实现写入文件的功能. 自己构造的HTTP包如下: GET /*********.rar ...
- tengine install
./configure --prefix=/home/admin/local/tengine --with-http_stub_status_module --with-http_ssl_module ...
- shell中常用的特殊字符
(1) * 代表0到无穷个任意字符 (2)?代表任意一个字符 (3)代表括号内任意一个字符 (4)[ - ] 代表一个范围中的任意一个字符 如[0-9] 即是代表0-9之间的一个数 (5)[^] 反向 ...
- R包——ggplot2(二)
关于ggplot包(二) 关于ggplot包(二) 标尺(Scale) 从前面可以看到,画图其实就是在做映射,不管是映射到不同的几何对象上,还是映射各种图形属性.在对图形属性进行映射之后,使用标尺可以 ...
- C# 控件包
http://www.cnblogs.com/Keep-Silence-/archive/2013/01/22/2871694.html
- MySQL、You are using safe update mode
MySQL默认模式是sql_safe_updates=1的.在这个模式下不管你是update还是delete一行where 条件都要指定主键.如果where条件只出现的不是主键就会出错. 例子: se ...