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= ...
随机推荐
- C#按钮客户端验证
OnClientClick="return confirm('是否确定排除?');"
- iphone/ipad前端开发技巧
iPad开发的局限性 在iPad上使用Safari浏览普通网站网页的时候,网页因为太大而导致需要手动放大缩小或者滑动,虽然这种滑动行为在iPad上市之初的各种宣传中被津津乐道,但时间久了我们还是会发现 ...
- 论try/catch的重要性,我们经常遇到代码出现无法调试的错误,程序退出的时候崩溃。这跟我们代码日常保护的习惯息息相关。
每当构造函数或析构函数中出现溢出,会导致调试非常困难,而使用try/catch来处理构造中的初始化就非常重要了. 如上图,在构造函数中,我们的很多初始化动作会放在这里,但是却忽视了,一旦初始化出错了, ...
- linux vim taglist config
"vim config .vimrc "taglist map <silent> <F10> :TlistToggle let tlist_php_sett ...
- Hadoop 处理“Name node is in safe mode”问题(转)
运行hadoop程序时,有时候会报以下错误:org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Nam ...
- WPF中常用控件的属性
Source = new BitmapImage( new Uri( WangCaiConfig.GetCurrentDirectory() + imgStr, UriKind.RelativeOrA ...
- C++小知识之Map用法
Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作! 1. map最基本的构造函数: map<st ...
- ThinkPHP第二十二天(表单令牌、相对路径、扩展配置载入、$Think获取系统变量、$_SERVER('HTTP_REFERER')前页地址)
1.表单令牌开启配置 'TOKEN_ON'=>true 2.相对路径:在thinkphp中,存在单入口index.php,所以程序中的根目录都是以index.php所在的文件夹为根目录,故用./ ...
- Java Web 部署到Tomcat
1.在conf目录中,新建Catalina(注意大小写)\localhost目录,在该目录中新建一个xml文件,名字可以随意取,只要和当前文件中的文件名不重复就行了,该xml文件的内容为: <C ...
- 基于linux c的mysql操作——幼儿园数据管理系统
上周对于mysql进行了简单的学习,利用c对mysql进行操作,主要用到了以下几个函数: mysql_init(); mysql_real_connect(数据库变量指针,网络地址,用户名,登录密码, ...