网站用户界面回归测试

gossamerui的Python项目详细描述


gossamer
==


gossamer监视您浏览网站并记录用户界面的屏幕快照,
然后重新创建您的浏览会话,并根据用户界面是否已更改通过或失败测试。这是一种在浏览器中自动化可视化回归测试的方法,使用gossamer自动化selenium
webdriver,公开通过/失败/错误的测试状态,并提供失败测试的可视化差异。您不必编写Selenium测试,也不必为测试UI制作和保持同步的静态页面:此工具将测试在开发或测试Web服务器上运行的完整
网页。gossamer可以通过命令行
接口集成到您的持续集成中,或者,如果您正在测试python应用程序,则可以通过python
unittest集成集成集成。

用法
----


gossamer是命令行应用程序,用"gossamer"调用。您可以创建要在文本gossamerfile中记录的测试。对于每个测试,都会打开一个
webdriver窗口,您可以作为一个普通的
用户与浏览器进行交互,当您希望截图
并按回车键时返回命令行。您的屏幕截图和测试的json记录被写入数据目录。回放是通过读取这个目录
并与"好的"屏幕截图进行比较来完成的。gossamer假设selenium
服务器已经在运行。

若要启动,请创建一个文件"gossamer file",并为每次测试指定访问的名称和url。

:例如,com

您还可以添加其他设置:

::


[示例]
url=http://www.example.com
desc=example.com没有更改
screensize=800x1000
browser=chrome
expect_redirect=false

默认情况下,gossamer在当前目录中查找名为"gossamer file"的文件,并将数据存储在"gossamerfile"中,每个测试有一个目录
。每个测试目录都包含一个"record.json",其中包含要重新生成测试的
数据以及良好的屏幕截图,而在一个
子目录"last"中,则是最后一次测试运行(可能失败)的
屏幕截图。


::


gossamer--文件gossamer file--数据<;数据目录>;--记录--保存差异

在浏览时,请等待请求完成并呈现
完成,然后再转到另一个操作。如果您导航到新的
页面,则需要在观察新事件之前拍摄屏幕快照。

将保存新的PNG。要回放测试,只需调用而不使用
``-r/-rr``标志即可。


如果运行python测试,则可以像这样集成您的gossamer测试:gossamer import中的




t运行gossamerfile
运行gossamerfile(locals(),<;filename>;,<;data-dir>;)

这会改变模块的局部变量,使给定gossamerfile中的每个测试都包含一个"unittest.testcase"实例。那么,您的测试运行器将检测并运行它们。但是,您需要确保在运行测试时,selenium服务器和测试web服务器都已启动。


安装
----


ng/hellow>;``系统级
支持PNG的依赖项。然后,可以从pypi安装gossameri,使用pip install gossameri安装gossameri。

默认情况下,服务器附带Firefox,Chrome需要一个附加的系统包,而Internet Explorer需要一个特定于IE的独立版本的Selenium服务器。

authors
----

请参见文件"authors"。基于facebook的
`huxley<;https://github.com/facebook/huxley>;`,并重写。


许可证
----



负责任。
-打开慢速iframe可能会在播放时超时。
-Internet Explorer<;11(这是Selenium支持的所有功能)目前不应该工作,因为我们使用的是变体观察服务器,但可以添加一种观察更改的旧方法ie<;11(请参见
``js.pageChangingObserver`)。


问题
----


请在"github
存储库<;https://github.com/ijl/gossamer>;``uu.

贡献
————————————————————————————————————————————————————————————————————————————————————————,增加"constant.data_version"并修改"util.import_recorded_run"以处理新的和旧的数据。
-随时提供您想要的任何功能。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用无循环和乘法的递归调用查找值   java字符串大小冲突   在一组Java文件对象中查找唯一的超级目录   没有Eclipse控制台输出窗口(Java)?   java这怎么等于105而不是15?   java Adempiere列调出,用于不处理从(代码)选项导入和创建行的字段   java tomcat、2个webapps、2个log4js,但这两个应用都记录到一个文件中   lambda理解Java谓词   HotspotFX上的Java EOF问题   java google应用程序引擎:如何向连接/断开通道“ping”添加信息?   java如何使用VTDXML获取一个元素的所有名称空间声明?   java如何使用drawLine()获得一条线以随机方向拍摄?   java transactionManager应该使用哪个SessionFactory?   java在安卓上播放声音   在Mac上使用JBDC对SQL Server进行java Windows身份验证   java基本列表和字符串[]   java NamedParameterJdbcTemplate从中选择*   扩展上的java Android可扩展列表视图   使用ApacheAxis2的java SOAP附件