我现在正在看Selenium Server,我似乎没有注意到支持无头浏览器测试的驱动程序.
除非我弄错了,否则它不支持它.如果你在X上,你可以创建一个虚拟帧缓冲来隐藏浏览器窗口,但这不是一个真正的无头浏览器.
任何人都可以开导我吗?Selenium是否支持无头浏览器测试?
selenium automated-tests unit-testing headless-browser selenium-webdriver
有哪些选项可用于构建使用Java Swing编写的GUI的自动化测试?
我想测试一些使用NetBeans Swing GUI Builder编写的GUI,因此可以在不需要对被测代码进行特殊篡改的情况下工作.
我们已经尝试将单元测试引入到我们当前的项目中,但它似乎没有起作用.额外的代码似乎已经成为一个维护问题,因为当我们的内部框架发生变化时,我们必须绕过并修复任何挂起它的单元测试.
我们有一个抽象基类,用于单元测试我们的控制器,它作为模板调用子类的抽象方法实现,即Framework调用Initialize,所以我们的控制器类都有自己的Initialize方法.
我曾经是单元测试的倡导者,但它似乎并不适用于我们当前的项目.
任何人都可以帮助确定问题以及我们如何使单元测试对我们而不是对我们有效?
TL; DR - 我正在寻找xUnit相当于MSTest AssemblyInitialize(也就是我喜欢的ONE功能).
具体来说,我正在寻找它,因为我有一些Selenium冒烟测试,我希望能够在没有其他依赖项的情况下运行.我有一个Fixture,它将为我启动IisExpress并在处置时杀死它.但是在每次测试之前执行此操作会大大增加运行时间.
我想在测试开始时触发一次这个代码,并在最后处理它(关闭进程).我怎么能这样做呢?
即使我可以通过编程方式访问诸如"当前正在运行多少个测试"之类的东西,我也可以解决一些问题.
我们有一个分布式测试环境,其中robotremoteserver启动了许多其他应用程序,并在测试过程中使用它们.我试图运行的测试要求我在一个套件中运行超过一百万个测试用例.这里的问题是,当pybot开始运行时,它会阻塞8 GB的RAM并导致性能下降.过了一会儿它冻结了.
为了解决这个问题,我计划创建单独的套件,每套套件少于100个.但在这种情况下,我无法使用从其他套件启动的其他远程服务器中的关键字.我可以使用它的唯一方法是断开与远程服务器的连接并在每个套件中重新连接 - 这将破坏测试的目的.
我不确定是否有人遇到过这种情况.如果有人能想到这个问题的解决方案,我将不胜感激.
另一个有助于解决此问题的事情是:是否可以从另一个套件启动的库(带状态)调用关键字?
使用RIDE时可以使用get library instance吗?我在一个套件中导入库,然后尝试在其他套件中获取库实例.这可能吗?
我一直收到以下错误:
AttributeError:远程实例没有属性'replace'
在套件1中,这就是我正在做的事情:
Import Library Remote ${verifix_xmlrpc_url} WITH NAME Verifix
${lib}= BuiltIn.Get Library Instance Verifix
Set Global Variable ${lib}
Run Code Online (Sandbox Code Playgroud)
在套房2中:
${lib}.remove messages ${VenueNSDQ}
Run Code Online (Sandbox Code Playgroud) 我是量角器的新手,我正在尝试实施e2e测试.我不知道这是否是正确的方法,但是...我要测试的页面不是基于完整的角度页面,所以......我遇到了一些麻烦.
根据我的第一个规范,我有:
describe('should open contact page', function() {
var ptor = protractor.getInstance();
beforeEach(function(){
var Login = require('./util/Login');
new Login(ptor);
});
Run Code Online (Sandbox Code Playgroud)
我已创建此Login类,但登录后我想打开联系页面,但量角器会在页面完全加载之前立即尝试查找元素.
我试过用:
browser.driver.wait(function() {
expect(browser.findElement(by.xpath("//a[@href='#/contacts']")).isDisplayed());
ptor.findElement(by.xpath("//a[@href='#/contacts']")).click();
});
Run Code Online (Sandbox Code Playgroud)
但它不起作用......它总是试图在页面加载之前找到元素.我也试过这个:
browser.driver.wait(function() {
expect(ptor.isElementPresent(by.xpath("//a[@href='#/contacts']")));
ptor.findElement(by.xpath("//a[@href='#/contacts']")).click();
});
Run Code Online (Sandbox Code Playgroud)
我能够使用browser.sleep();但我不认为这是一个不错的选择.任何的想法?在我的登录课上,我有:
ptor.ignoreSynchronization = true;
Run Code Online (Sandbox Code Playgroud)
@href='#/contacts在量角器尝试点击它之前,我该如何等待?
javascript automated-tests angularjs selenium-webdriver protractor
我正在学习NativeScript.我正在尝试用Jasmine编写一些自动化测试.根据我的理解,我可以使用Appium和Jasmine在模拟器中运行自动化测试.这时,我已将appium-gulp-plugins添加到我的package.son文件中.我还有一个基本的JavaScript文件,只有一个测试.那个文件看起来像这样:
describe('MyApp', function() {
describe('Login', function() {
it('should successfuly login', function() {
// set username field value
// set password field value
// click "login" button.
// get response.
expect(true).toBe(true);
});
});
});
Run Code Online (Sandbox Code Playgroud)
我有两个挑战:
我如何实际运行测试?就像现在一样,它只是直接茉莉花,所以我可以做到以下几点:
gulp.src('./path/to/tests.js').pipe(jasmine());
Run Code Online (Sandbox Code Playgroud)但是,在混合使用Appium时,我不确定如何将其作为运行测试的一部分进行集成.
我经常需要处理脆弱的遗留网站,这些网站在更新逻辑或配置时会以意想不到的方式中断.
我没有创建Selenium脚本所需的系统时间或知识.此外,我不想检查具体的用例 - 我想验证网站上的每个链接和页面.
我想创建一个自动系统测试,它将通过一个站点进行爬行并检查链接和崩溃是否已损坏.理想情况下,我可以使用一种工具来实现这一目标.它应具有尽可能多的以下功能,按优先级降序排列:
有许多部分解决方案,如FitNesse,Firefox的LinkChecker和W3C链接检查器,但它们都没有做我需要的一切.
我想将这个测试用于使用各种技术和平台的项目,因此解决方案越便携越好.
我意识到这不能替代正确的系统测试,但如果我有一种方便且可自动化的方式来验证网站的任何部分是否明显被破坏,那将非常有用.
我试图更好地理解测试框架,并一直在研究Selenium.我之前使用过HTMLUnit,主要是因为我需要从网站或类似网站上删除一些信息.
在编写测试自动化的背景下,Selenium与HTMLUnit的优点/缺点是什么?在我看来,Selenium设置比HTMLUnit更复杂,虽然同时有一个用于Selenium的HTMLUnitDriver,我认为它的行为方式与HTMLUnit本身完全相同?
Selenium显然提供了更强大的框架,它有Selenium RC用于pararel测试,它也有不同的浏览器驱动程序可以使用 - 虽然当你使用浏览器驱动程序时,测试实际上会打开/关闭浏览器应用程序而不是无头.
可能是我没有正确理解Selenium.一些方向和指针会很棒!
另一个注意事项 - 一个单独的问题 - 我也在考虑在移动浏览器上进行自动化测试,我看到Selenium有一个IPhoneDriver,但是这不是无头测试,因为它需要实际的iOS模拟器.
反正在移动网站上进行无头测试吗?更改用户代理是否足够?我已经看到一些关于改变用户代理的帖子似乎有他们自己的挑战,例如.在Selenium RC中设置用户代理
非常感谢!
automated-tests ×10
c# ×2
javascript ×2
selenium ×2
unit-testing ×2
.net ×1
agile ×1
angularjs ×1
appium ×1
htmlunit ×1
java ×1
nativescript ×1
protractor ×1
python ×1
swing ×1
tdd ×1
testing ×1
vb.net ×1
web-crawler ×1
winforms ×1
xunit.net ×1