自动化测试是一种使用自动化工具编写和执行测试人员测试脚本和案例的技术。
自动化测试的主要目标是减少手动运行的测试用例数量,而不是完全取消手动测试。
在以下情况下首选自动化:
人们不应该在以下情况下自动化:
在自动化过程中,涉及的步骤是
在自动化的规划阶段,必须考虑的事项是
在以下条件下,自动化测试对敏捷方法无用
在软件自动化测试中使用了四种类型的框架
在编写用于自动化的脚本时,您必须考虑以下事项:
QTP(HP UFT)、Selenium、Robot Framework、appium…
通过遵循标准,可以映射自动化测试的成功
Selenium是一个免费的(开源)Test Suite框架。它用于自动化Web和移动环境。它包括
Selenium IDE(浏览器插件 - 录制和播放工具)
Selenium WebDriver
Selenium Grid(分布式测试)
Selenium支持Java,C#,Python,Ruby,PHP,Perl,Javascript等语言的脚本编写。
QTP(Quick Test Professional)现在称为HP UFT。它是一种商业自动化工具,支持各种测试环境Web,桌面,SAP,Delphi,Net,ActiveX,Flex,Java,Oracle,Mobile,PeopleSoft,PowerBuilder,Siebel,Stingray,Visual Basic等。
脚本语言是VBScript。该工具可与HP ALM(测试管理工具)和HP LoadRunner(性能测试工具)很好地配合使用。
QTP的突出特点包括业务流程测试,关键字驱动框架,XML支持,强大的检查点,测试结果。
断言assert 用于代码中验证实际结果符合预期结果,如果测试用例失败,则抛出异常并且提供断言日志
指的是从UI界面,也就是用户界面层面进行的自动化测试,测试人员通过编程自动化的程序也就是自动化脚本实现打开界面,操作界面的业务逻辑
WebDriver InternetExplorerDriver FirefoxDriver ChromeDriver WebElement WebDriverWait By
By.id() By.name() By.xpath() By.classname() By.tagName() By.cssSelector() By.linkText() By.partialLinkText() By.xpath()
是web页面元素定位的一种方式,相当于元素dom中的一个路径,可以采用绝对路径和相对路径的方式进行定位,对于定位页面元素有很大的帮助,同时需谨慎使用,当页面结果发生变化,那么定位信息也可能需要变化
两个都是查找元素的方式
findElement()查找一个页面元素,只会返回WebElement对象
findElements()查找页面是所有符合匹配的元素,返回元素集合
submit() ,前提是input元素的type 为submit
硬性等待,也叫线程等待,通过休眠的方式完成等待如等待5秒Thead.sleep(5000)
隐式等待,通过imlicitlyWait完成延时等待,这种事针对全局设置的等待,如设置超市10秒,使用imlicitlyWait后,如果第一次没有找到元素,会在10秒之内不断循环查找元素,如果超时间10秒还没有找到,则抛出异常
显式等待,智能等待,针对指定元素定位指定等待时间,指定的范围内进行元素查找,找到元素则直接返回,超时没有找到元素则抛出异常
优化等待时间,使用WebDriverWait智能等待代替 线性等待sleep和隐式等待imlicitlyWait
减少不必要的操作
在服务器允许的情况下,使用多线程实现并发执行测试用例
图像识,难度大,效果不好不推荐
屏蔽验证码,邀请开发处理,在测试环境,预发和正式环境恢复
万能验证码,使用复杂的其他人无法猜到的验证码
如何验证复选按钮是不是被选中
可以使用元素的is selected()方法,如果返回的是true则说明被选中,否则表明未被选中
先定位跳转到alert上,然后点击确认或取消
Alert alert = dirver.swichTo().alert();//切换到alert
alert.accept();//确定
alert.dismiss();//
使用Actions 类
Actions actions = new Actions(driver)
actions.moveToElement(element).perform();
actions.contextClick.perform();
还是使用actions类
Actions actions = new Actions(driver)
WebElement element1 = driver.findElement(by);
WebElement element2 = driver.findElement(by);
actions.dragAndDrop(element1,element2)perform();
frame(string, name), frame(int index), frame(Web Element element)
如果下拉菜单是select 标签,使用方法;select By Value() 或者selectByIndex()或者select ByVisibleText()即可
如果这个下拉菜单不是通过select标签创建,则直接通过xpath 定位元素然后去点击选择
UI自动化
接口自动化
web自动化
终端自动化
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。
关注我的微信公众号:【伤心的辣条】免费获取~
如果你在自学过程中:
没有前辈带领,只靠自己慢慢摸索成长缓慢;
缺少系统全面的学习路径,迟迟无法突破瓶颈;
只懂理论知识没有太多实操经验,没办法造轮子;
一个人定位Bug的时候,感到孤独无助,无从下手;
我的软件测试学习交流群:273462828,群里有分享的视频,面试指导,测试资料,还有思维导图、群里有视频,都是干货的,你可以下载来看。合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
阿里小黑叹息:越来越多的年轻人从职场撤退了?
Python简单?先来40道基础面试题测试下
App公共测试用例梳理
从一名开发人员转做测试的一些感悟