selenium+java自动化测试框架,javaweb自动化测试selenium基础到企业实际应用
一、自动化简介
1.什么是自动化?
看最近的职业机会,提到“软件测试工程师”,基本上都有自动化测试的要求。
例如:
了解selenium、appium或其他自动化测试框架。
熟悉至少一种面向对象开发语言,具有一定代码知识者优先。
熟悉Java或python,有一定的测试自动化经验和代码阅读能力。
2.自动解释:
自动化就是让被测软件自己运行,执行软件的功能;或者让其他工具自己运行来检查软件的内外。
让机器自己移动,也就是自动移动。让机器按照人类的要求遍历软件的所有功能。这就是自动化。
3.自动化测试
无一例外,所有主流的自动化测试方案都是由用于人机交流的编程语言和用于机器操作的工具组成的。
VBScript QTP(惠普UFT),一个商业功能自动化测试方案
Python/PHP/Java/c#/JavaSCprit/Ruby Selenium/app ium Python(UnitTest)单元测试框架,开源的功能自动化测试方案。Selenium/Appium本身不能算是测试工具,只是机器用来操作浏览器的工具。工具加上指定的语言,你可以让机器操作浏览器,但是这个时候无法进行测试,所以你需要每种语言自己的单元测试框架来共同完成这个功能自动化测试方案的构建。
4.自动测试内容
自动化测试涵盖了从UI(功能测试)到契约(接口测试)和底层代码方法(单元测试)的全过程。如果你想掌握好自动化测试,你真的需要在以下三个领域积累经验:
语言,首选面向对象编程,因为大量开源技术方案都是基于面向对象编程的。
第三方测试工具和测试框架,主要是从官网的文档中了解到的。
测试的概念和设计,工具和语言只是测试的手段,如何准备测试数据,如何设置测试检查点和测试步骤,决定了测试的成败。
5.自动化测试的发展
第一代自动化测试开始于大约15年前,记录键盘输入并通过硬件播放,但缺乏检查点的功能,测试脚本难以维护。
第二代自动化测试开始于大约10年前。此时已经从硬件改为软件捕获/回放生成测试脚本(),还增加了检查点的功能,可以对软件进行验证。测试的范围比基于硬件的自动化要大得多。最大的问题是,测试脚本也是一种编程语言,所以测试人员也需要了解编程语言,换句话说,他们需要能够编写程序。而且当软件发生变化时,测试脚本也需要同步更新,这对于测试人员来说是一个很大的挑战,他们经常要重新录制一遍整个测试脚本。
2001年,第三代自动化测试被称为“测试框架”,主要是抽象测试脚本(注:关键字驱动测试等。),让非技术人员(如系统分析师、用户等。)可以使用自动化测试工具来创建自动化测试用例,即使他们不知道测试脚本也不会写程序。
第四代Mercury业务流程测试:关注业务需求的自动化测试。随着测试仪器和测试技术的不断进步,自动化测试技术也经历了不断改进、完善和发展的过程。
自动化发展趋势预测;
1.测试任务复杂,工作量大,对侧测系统的功能和性能提出了更高的要求。
2、测试速度快,精度高,测量精度高。
3.进行定期或长时间不间断的测试。
4.在危险或难以进入的地方进行测试。
5.延长测试设备本身的寿命。
6.自动化测试的优点和缺点
自动化测试的优势:
a)节省人力。只要代码维护得好,完成测试不需要那么多人。
b)节省时间。测试脚本可以在晚上或者周末运行。
c)优化资源配置。在运行测试脚本时,QA可以做其他事情,比如设计新的测试用例。
d)退货方便,大大提高效率。
e)增加软件的可信度,测试由机器进行,消除了人工测试时人为情绪造成的随意性或疏忽,测试结果更加可信。
f)可以完成手动不易控制的工作,比如收集系统cpu占用信息。手工计算非常复杂,需要数据对比。使用脚本更简单、更方便。
自动化测试的缺点:
a)脚本维护成本高,尤其是版本变化大,对项目来说是潜在的风险。
b)很难发现新的bug。
第二,如何独立进行web端自动化
1.主流web自动化测试工具:
SELENIUM可以说是测试WEB最全面的开源自动化工具。它可以在WINDOWS、LINUX、MAC和SOLARIS上运行,几乎可以用任何编程语言构建。你可以使用你熟悉的语言,包括JAVA,C #,PERL,PHP,PYTHON和RUBY。它可以测试的浏览器有IE、FIREFOX、OPERA和SAFARI。
WATIR是国外另一个非常流行的自动化测试框架。
WEBDRIVER是GOOGLE正在使用的另一款自动化测试软件,语言是JAVA。
2.硒的特性
1.开源,免费
2.多浏览器支持:Firefox,Chrome,IE,Opera,Safari
3.多平台支持:Linux、windows、Mac
4.多语言支持:Java,Python,ruby,PHP,C#,JavaScript
5.对网页的良好支持
6.简单(API简单)和灵活(由开发语言驱动)
7.支持分布式测试用例执行。
3.硒家族简介
selenium RC: selenium服务器客户端库.Selenium服务器负责控制浏览器的行为。客户端库是在为测试人员编写测试用例时用来控制selenium服务器的库。
Selenium IDE:记录与浏览器的交互,创建测试用例。之后,您可以使用play选项重新运行测试用例。
Selenium CORE:执行测试代码逻辑,记录测试结果,完成测试。
Selenium GRID:控制多台机器和多个浏览器执行测试用例。
4.Selenium环境部署
1 python安装
下载官网python安装包,选择路径安装,配置环境变量。
2安装pip
https://pypi.org/project/pip/下载压缩包
3安装selenium
输入pip install -U selenium通过pip安装selenium。
4安装浏览器驱动程序。
5验证webdriver启动并关闭浏览器。
5.Selenium(WebDriver)原则
1.selenium client(用python等语言编写的Python自动化测试脚本)初始化一个service服务,通过Webdriver启动浏览器驱动chromedriver.exe。
2.通过RemoteWebDriver向浏览器驱动发送HTTP请求,浏览器驱动解析请求,打开浏览器,获取sessionid。如果再次操作浏览器,需要携带这个id。
3.打开浏览器,绑定特定端口,将启动的浏览器作为webdriver的远程服务器。
4.打开浏览器后,所有selenium操作(访问地址、搜索元素等。)都是通过RemoteConnection链接到远程服务器,然后用execute方法调用_request方法通过urlib3向远程服务器发送请求。
5.浏览器通过所请求的内容执行响应相应的动作。
6.浏览器通过浏览器驱动将执行的动作结果返回给测试脚本。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。