本篇内容主要讲解“Selenium自动化框架的简单介绍和具体使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Selenium自动化框架的简单介绍和具体使用”吧!一、什么是Selenium?
Selenium是一个基于浏览器的自动化工具,她提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid:
Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并可以把录制的操作以多种语言(例如java,python等)的形式导出成测试用例。Selenium WebDriver:提供Web自动化所需的API,主要用作浏览器控制、页面元素选择和调试。不同的浏览器需要不同的WebDriver。Selenium Grid:提供了在不同机器的不同浏览器上运行selenium测试的能力 本文使用Python结合Selenium WebDriver库进行自动化测试框架的搭建。二、自动化测试框架
一个典型的自动化测试框架一般包括用例管理模块、自动化执行控制器、报表生成模块和log模块,这些模块相辅相成。接下来介绍一下各模块的逻辑单元:1)用例管理模块用例管理模块包括新增、修改、删除等操作单元,这些单元又会涉及到用例书写模式,测试数据库的管理、可复用库等。2)自动化控制器控制器是自动化用例执行的组织模块,主要是负责以什么方法执行我们的测试用例3)报表生成模块主要负责执行用例后的生成报告,一般以HTML格式居多,信息主要是用例执行情况。另外还可以配置发送邮件功能。4)log模块主要用来记录用例执行情况,以便于高效的调查用例失败信息以及追踪用例执行情况。三、自动化框架的设计和实现
1、需求分析首先我们的测试对象是一个web平台,基于此平台设计的框架要包含测试用例管理、测试执行控制器、测试报告以及测试日志的生成。2、设计和实现1)页面管理假设测试web对象为一个典型单页面应用,所以我们采用页面模式。页面模式是页面与测试用例之间的纽带,它将每个页面抽象成一个单独的类,为测试用例提供页面元素的定位和操作。BaseClass作为父类只包含driver成员变量,用来标识Selenium中的WebDriver,以便在子类中定位页面元素。LoginClass和PageClass作为子类,可以提供页面元素的定位和操作方法。比如登录页面。从页面看,需要操作的元素分别为,登录用户名、密码、下次自动登录和登录按钮,具体实现代码如下:页面父类BaseClass.pyLoginClass继承自BaseClass,并进行登录的元素定位以及操作实现。代码中定位了username和passwor 香港云主机d,并添加了设置用户名和密码的操作。2)公共库模块公共库模块是为创建测试用例服务的,主要包括常量、公共函数、日志、报告等。Common.py测试用例信息类用来标识测试用例,并且包括执行用例、执行结果信息,主要包括以下字段。日志主要用来记录测试用例执行步骤及产生的错误信息,不同的信息有不同的日志级别,比如Information,Warning,Critical和Debug。由于每个测试用例产生的日志条目比较少,所以在测试框架中只利用了最高级别的日志打印,即Debug级别,该级别也会将其他所有的日志级别的信息同样打印出来。在具体的实现中引用了Python标准库中的logging类库,以便更方便的控制日志输出。3)测试用例仓库用例仓库主要用来组织自动化测试用例。每条测试用例都被抽象成一个独立的类,并且均继承自unittest.TestCase类。 Python中的unittest库提供了丰富的测试框架支持,包括测试用例的setUp和tearDown方法,在实现用例的过程中可以重写。依托页面管理和公共库模块实现的页面方法和公共函数,每一个测试用例脚本的书写都会非常清晰简洁。从这个测试用例中,我们可以看到1. Setup中定义了执行测试用例前的一些实例化工作2. tearDown对执行完测试做了清理和写日志文件工作3. 测试步骤、测试数据和测试检查点非常清晰,易修改(比如用户名密码)4. 日志级别仅有Debug,所以写日志仅需用同一Log方法3)用例执行模块执行模块主要用来控制测试用例脚本的批量执行,形成一个测试集。用例的执行引用了Python标准库中的subprocess来执行nosetests的shell命令,从而执行给定测试用例集中的用例。测试用例集是一个简单的纯文本文件,实现过程中利用了.txt文件testcases.txt用例前没有“#“标记的测试用例脚本会被执行,而有”#“标记的则会被忽略,这样可以很方便的控制测试集的执行,当然也可以创建不同的文件来执行不同的测试集。四、需要改进的模块对于现有实现的测试框架,已经可以满足web对象的自动化需求,但还是有些可以改进提高的地方,比如:1) 部分用例可以尝试数据驱动2) 二次封装selenium的By函数,以便更高效定位元素3)没有进行持续化集成到此,相信大家对“Selenium自动化框架的简单介绍和具体使用”有了更深的了解,不妨来实际操作一番吧!这里是开发云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
这篇文章主要介绍了电脑重装系统后开不了机的解决方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。原因分析电脑重装后开不了机,究其原因是系统重装失败。在重装系统的过程中,如果不小心中断了系统安装过…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。