selenuim
FixedStarHaHa
这个作者很懒,什么都没留下…
展开
-
(八)警告框处理
在WebDriver中处理JavaScript所生成的alert、confirm、prompt是很简单的。具体做法是使用switch_to_alert()方法定位到alert/confim/prompt。然后使用text/accept/dissmiss/sendKeys按需进行操作。accept()点击确认按钮 dismiss()点击取消按钮,如果有的话 sendKeys()输入值,这个a...原创 2019-05-03 19:04:45 · 183 阅读 · 0 评论 -
(十四)WebDriver.findElement()和WebElement.findElement()之间的区别
@Test public void testUntitledTestCase() throws Exception { driver.get("file:///C:/Users/a/Desktop/select1.html"); WebElement div=driver.findElement(By.id("oo")); List&l...原创 2019-06-24 14:05:53 · 2513 阅读 · 0 评论 -
(0)什么样的项目适合做自动化测试
什么样的项目适合做自动化测试 当一个项目稳定下来后,需求变动并不大,并且UI页面也较为稳定不会频繁变动时,这是做自动化的一个前提条件。否则一个需求、UI界面经常变动的项目,你费时费力写好的元素定位可能会一朝报废,再来适应新的UI界面以及新需求,这时候的维护精力会很大,也会做很多无用功。 这个项目的开发周期应该是一个长期的过程,有充足的时间来进行自动化框架的搭...原创 2019-06-25 17:40:34 · 1680 阅读 · 0 评论 -
(十七)selenuim使用firefox查看代码技巧总结
一、F12二、点击此图标,然后再点击要找element,就可以快速定位到是代码哪一行三、自动生成css、xpath路径右键--复制 选择四、查看某个标签下源码右键--编辑HTML五、搜索一般来说,是全局搜索;有时定位元素是希望在某个元素后面搜索,则可以选中源码一部分,则会在此处后进行搜索...原创 2019-06-25 17:30:31 · 127 阅读 · 0 评论 -
(十三)定位下拉菜单select
<html><head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>Checkbox</title></head><body> <h3>select</h3> ...原创 2019-06-21 15:21:06 · 630 阅读 · 0 评论 -
(十六)多窗口切换:句柄、索引、title
句柄:窗口编号当新打开一个窗口,就会产生一个句柄。切换只要获取所有的句柄,然后选择相应的句柄即可方法一:利用for循环来实现窗口之间的切换 private WebDriver driver; @Test public void testUntitledTestCase() throws Exception { driver.get("https://www.jd...原创 2019-06-25 09:59:45 · 859 阅读 · 0 评论 -
(七)多表单切换 frame
在实际的测试中,有时候我们会经常遇到找不到元素的问题,这也是自动化测试中经常会遇到的情况,我一般首先考虑的就是是否由于页面中嵌套了frame,从而导致定位不到元素,如果页面代码中没有iframe层,再根据报错信息来考虑原因是否是:元素被隐藏,定位路径不正确等情况。一般下列情况中页面可能包含frame嵌套:后台管理系统中,页面中有一些独立的功能模块,特征是页面显示切换了模块,但是地址栏的URL并...原创 2019-04-30 17:26:16 · 967 阅读 · 0 评论 -
(六)定位一组元素
定位一组对象的方法与定位单个对象的方法类似,唯一的区别是在单词element后面多了个s表示复数。定位一组对象一般用于如下场景:批量操作对象,比如将页面上所有的复选框都被勾选 先获取一组对象,再将这组对象中过滤出需要具体定位的一些对象,比如定位出页面上所有checkbox,然后选择最后一个System.setProperty("webdriver.firefox.bin", "D:/Pr...原创 2019-04-30 16:09:18 · 332 阅读 · 0 评论 -
(五)设置元素的等待时间(selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?)
当浏览器在加载页面时,页面内的元素可能并不是同时被加载完成的,这给元素的定位添加来了困难。如果因为在加载某个元素时延迟而造成脚本的执行异常,这样就降低了自动化的稳定性。一、timeouts方法System.setProperty("webdriver.firefox.bin", "D:/Program Files (x86)/Mozilla Firefox/firefox.exe")...原创 2019-04-30 15:25:30 · 1660 阅读 · 0 评论 -
(四)获取验证信息
验证信息也叫检查点,常用的检查点有title、url、text public static void main(String[] args) throws InterruptedException { System.setProperty("webdriver.firefox.bin", "D:/Program Files (x86)/Mozilla Firefox/firefox.e...原创 2019-04-30 15:07:41 · 504 阅读 · 0 评论 -
(三)键盘事件 Keys类
有时在测试时需要使用Tab键将焦点转移到下一个元素,Keys类提供键盘上几乎所有按键的方法,前面已经了解到sendKeys()方法可以模拟键盘输入,除此之外,它还可以模拟键盘上的一些组合键,例如Ctrl+A、Ctrl+C等public static void main(String[] args) throws InterruptedException { System.setPrope...原创 2019-04-30 14:31:59 · 504 阅读 · 0 评论 -
(二)简单元素操作、方法、鼠标操作
WebElement findElement(By by):定位元素用webelement,返回的是webelement;对元素的操作依然是webelement在WebDriver中,大多简单有效的页面交互的方法都是通过WebElement接口提供,最常用的操作页面元素方法有如下几个:clear() --清除文本,如果是一个文本框sendKeys(*value)--在元素上模拟键盘...原创 2019-04-30 14:15:16 · 276 阅读 · 0 评论 -
(一)定位元素、控制浏览器后退和前进
一、selenium自动化要做的事情模拟鼠标和键盘来操作这些元素,操作包括点击、输入、右击、鼠标拖动等二、定位元素8种方法:org.openqa.selenium.By...<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off"> <input...原创 2019-04-29 15:35:57 · 552 阅读 · 0 评论 -
(十二)验证码的处理
一、去掉验证码对于开发人员来说,只是把验证码相关代码注释掉即可,如果是在测试环境,这将可省去测试人员不少麻烦,如果自动化脚本是在正式环境跑,则会给系统带来一定的风险。二、设置万能码在代码中加个特殊逻辑即可三、记录cookie 在我们第一次登陆某网站可以勾选“记住密码”的选项,当下次再访问该网站时自动处于登陆状态了。这样就绕过了验证码问题。那么这个“记住密码”的功能其实...原创 2019-05-04 17:44:12 · 219 阅读 · 0 评论 -
(十)窗口截图
getScreenshotAs()来截取当前窗口自动化脚本是交给工具去执行,有时候打印的错误信息并不十分明确,如果在脚本执行出错的时候将对当前窗口截图保存,那么通过图片信息会更直观帮助我们找出脚本出错的原因System.setProperty("webdriver.firefox.bin", "D:/Program Files (x86)/Mozilla Firefox/firefox....原创 2019-05-03 21:45:21 · 272 阅读 · 0 评论 -
(九)操作Cookie
有时候我们需要验证浏览器中是否存在cookie,因为基于真实的cookie点的测试是无法通过白盒和集成测试完成的。WebDriver提供了操作Cookie的相关方法可以读取、添加、删除cookie信息。WebDriver操作cookie的方法有:getCookies() 获取所有cookie信息 addCookie(cookie_dict) 添加cookie,必须有name、value...原创 2019-05-03 20:38:34 · 392 阅读 · 0 评论 -
(九)上传文件
对于web页面的上传功能一般会有以下几种方式普通上传:普通的附件上传都是将本地的路径作为一个值放input标签中,通过form表单提交的时候将这个值提交给服务器插件上传:一般是指基于Flash与JavaScript或Ajax等技术所实现的上传功能或插件一、sendKeys实现上传对于通过input标签实现的上传,可以将其看作一个输入框,通过sendKeys()传入本地文件路径从而模...原创 2019-05-03 19:32:53 · 134 阅读 · 0 评论 -
(十五)遍历表格
也算(十四)WebDriver.findElement()和WebElement.findElement()之间的区别的一个应用<html><head><meta http-equiv="content-type" content="text/html;charset=utf-8" /><title>Checkbox</title&...原创 2019-06-24 14:28:45 · 154 阅读 · 0 评论