我有这个 Accept
我正在尝试使用Select的Laravel Dusk单击它,单击,单击链接 但是它不起作用 解决方案 您的选择器似乎是错误的,看来您正在尝试单击超链接由 tag 对于尝试将定位器转换为通过链接文本查找元素喜欢: driver.findElement(By.linkText("Accept")) 或或者使用 xpath Locator > driver.findElement(By.xpath("//a[text()='Accept']"))
以下是关于 automated-tests 的编程技术问答
我在Laravel中有类似以下设置的内容: in /app/controllers/MyController.php : class MyController extends BaseController { const MAX_FILE_SIZE = 10000; // .... } in /app/tests/MyControllerTest.php : class MyControllerTest extends TestCase { public function myDataProvider() { return [ [ MyController::MAX_FILE_SIZE ] ]; } /** * @dataProvider myDataProvider */ public function testMyControll
每当我尝试使用phantomjs进行测试时,Dalek就会给我这个错误.但是使用GoogleChrome测试正确运行. Running tests /Users/user/node_modules/dalekjs/node_modules/dalek-browser-phantomjs/index.js:273 this.spawned.kill('SIGTERM'); ^ TypeError: Cannot read property 'kill' of null at Object.PhantomJSDriver.kill (/Users/user/node_modules/dalekjs/node_modules/dalek-browser-phantomjs/index.js:273:17) at EventEmitter.emit (/Users/user/node_modules/dalekjs/node_modules/
我正在用 karma + mocha .此可能(?)的一件事是在各种浏览器上测试用户交互,包括我说可能,因为我不确定如何在业力+摩卡设置中获得基本的phantomjs功能.即:var page = require("webpage").create();应该是可以开始使用的phantomjs中的一个规范示例,但是业力无法找到require. 现在,我也许可以通过将require.js包括在业力上来解决这个问题,但是在"要求"我的项目"要求"之前,我想知道Karma+Phantomjs是否确实是为了测试自动互动喜欢: 加载页x 填写表格 提交 检查客户端是否一切顺利 与业障 + phantomjs可以使用这些相互作用测试? 解决方案 phantomjs是一个node-node qt / webkit 基于库.它具有与节点非常相似的脚本环境,但不是节点.从主页: phantomjs是具有JavaScript API的无头Webkit.它 对各种网络标准都
我有一种非常简单的HTML表格,我正在尝试使用各种数据进行测试.我使用IE对象在MS Access/VBA中编写了原型概念验证.它运行良好,但完成的测试产品必须使用phantomjs.我已经可以使用页面插头了,并且表格的填充良好.我卡住的地方是提交按钮开火.我已经梳理了S.O.并尝试了所有建议,什么都没有起作用.我使用的是Phantomjs 1.9.7,并使用直接的JavaScript测试脚本. 我尝试了各种JavaScript技术来触发提交按钮.为了满足" Just Just Juquery"人群,我也尝试了.什么都没有用.当我在测试脚本末尾渲染表单时,我会看到带有数据填充的表单,耐心地等待单击 . 这是我尝试过的摘要: document.getElementById('btnSearch').click(); $("btnSearch").click(); var el = document.getElementById('btnSearch'); // Ge
我正在使用带有casperjs的phantomjs来运行多个测试,看来phantomjs的每个实例都需要约106m的RAM.有可能减少该数量吗?是否有一种简单的方法可以在多个"选项卡"中运行测试? 解决方案 编辑:,如@newfurniturey指向,版本现在已弃用.我们必须使用 close : 不知道这是否有帮助,但是发布功能可能是一个很好的尾巴: http://phantomjs.org/phantomjs.org/api/webpage/webpage/webpage/webpage/method/method/release.html-1.htmltm-1/a-.a.a realease.htmltmtmfultmfultmfulfut/a > 释放与此页面关联的内存堆.不要使用页面 呼叫此后的实例. 由于某些技术限制,网页对象可能不是 完全收集了垃圾.当相同时,这通常是遇到的 对象一遍又一遍地使用. 调用此功能可能会停止增加的堆分配. :)
我已经在此处描述的是用qunitjs + phantomjs + gruntjs设置了我的测试环境: http://jordankasper.com/blog/2013/04/automated-javascript-tests-using-grunt-phantomjs-andomjs-and-qunit/ > 如果我在本地执行测试(grunt任务),一切正常.但是,如果我尝试在我们的构建服务器上执行测试,则会在错误之后引发: 我几次检查了URL和路径,用于启动Qunit测试的HTML文档也可以在我们的构建服务器上的配置路径上提供.有什么想法为什么会发生此错误? 解决方案 GRUNT任务中Qunit HTML文件的URL配置不正确!
我尝试制作隐藏的firefoxdriver.根据我的研究,我必须使用phantomjsdriver,但是当我使用phantomjsdriver驱动程序时.输入语句不再工作. var options = new PhantomJSOptions(); options.AddAdditionalCapability("phantomjs.page.settings.userAgent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36"); PhantomJSOptions p = new PhantomJSOptions(); var service = PhantomJSDriverServi
再次编辑 我在北弗吉尼亚州某个地方的AWS上有一台服务器,这是我的监视服务器.我从另一个州进入这台Ubuntu服务器进行系统管理.我想在该服务器上进行Web自动化测试,该测试将在Internet上测试Web应用程序,并验证我可以成功测试登录并成功验证.该服务器在AWS云上,我不确定要使用哪个Perl模块,因为我正在远程访问它. 有两个CPAN模块:Selenium ::远程::驱动程序和www :: Selenium.我已经尝试了两者,他们给了我问题.而且我真的不知道哪种适合我的情况.当我使用Selenium ::远程::驱动程序时,我会收到以下错误: Selenium server did not return proper status at /usr/local/share/perl/5.18.2/Selenium/Remote/Driver.pm line 401. 当我使用www :: selenium时,我会得到这个错误: Failed t
我想为Web应用程序进行完整的集成测试.我想使用多个浏览器来测试许多诸如Ajax,某些短语和HTML元素的定位和存在之类的东西.我正在寻找一种进行自动测试的工具. 另一方面;这是我第一次使用集成测试.进行此类测试时是否有任何具体建议?还有任何教程吗? (作为注意:我的后端代码是使用Perl,Python和Django完成的.) 谢谢! 解决方案 如果您需要进行完整的测试,包括利用浏览器功能,例如Ajax,那么我会推荐它支持所有主要的平台和浏览器.硒本身是在Java中实现的,但是如果它用于通过其用户界面测试Web应用程序,这并不是一个问题. 硒测试是HTML表中的一系列命令,受支持的命令在记录下.还有一个 IDE 作为Firefox插件实现,可用于记录和运行测试.但是,IDE中创建的测试脚本可用于针对任何受支持的浏览器进行测试. 其他解决方案 Selenium 是一个好方法.要与perl一起使用它P> 这是一个示例 use WWW::Sele
我有一个基于Perl的测试套件,其中有10,000多次测试,我想更快地进行运行.我已经使用-j标志对prove进行了测试,我发现我的测试中最不但所有的测试都可以并行运行. 虽然我可以将剩余的测试变得"平行友好",但我希望总有一些测试.什么是管理此问题的好方法?我希望它可以轻松地有效地进行整个测试,并使您可以轻松地将测试标记为"不合时宜的",如果需要. 这是我看到的一些选项: 证明可以修补一些测试,以支持某些测试,因为不准备好 Jenkins用于管理测试套件运行.我可以将非平行测试分为自己的运行.换句话说,放弃并使用两次测试. 也许有一种方法可以将两个结果流合并在一起,我尚未恢复. 我不太关心如何管理异常列表.我可以作为测试线束基础架构的一部分保留文件中的列表,或者可以在每个测试标头中放置一些标记为此的东西,我们的测试线束可以动态确定异常列表. (测试套件部分基于test :: class,我也将研究test :: class :: load也加快了速度.
我刚刚安装了 WWW:Mechanize::Firefox WWW:Mechanize::Firefox ,但是当我尝试创建一个"类"的实例时: my $mech = WWW::Mechanize::Firefox->new(); 我得到此错误: Failed to connect to , problem connecting to "localhost", port 4242: No connection could be made because the target machine actively refused it. at C:/strawberry/perl/site/lib/MozRepl/Client.pm line 144 任何人可以帮忙吗? 解决方案 您必须安装 mozrepl ,然后在菜单Tools → MozRepl → Start>. 中启动它 其他解决方案 除了安装和启动Firefox/Mozrepl外,积极
基本上,我有一个使用ASP.NET MVC 4框架的Web应用程序.我使用C#作为后端.在几天的不同时间,我注意到Web应用程序滞后或很慢,但我想弄清楚一天中的哪些时间以及其他一些信息,这些信息对于弄清楚如何优化应用程序很有用.我希望能够编写一个自动脚本,该脚本在一天中的不同时间测试Web应用程序,并将其与应用程序的缓慢相关联. 我是测试自动化的新手,所以我想知道我可以从哪里撰写这些东西.特别适用于ASP.NET Web应用程序? 解决方案 您可以从几个角度进行处理: 日志 日志页面渲染时间,数据库访问时间以及其他可能导致慢速的时间的时间.使用登录框架,例如 nlog ,它允许您在日志中拨打和下降的细节量. 手动查看时获取更多细节 集成 Miniprofiler 在您的网站中,并在登录时打开它. 测量选定页面的实时性能 快速启动的解决方案是使用那里的许多外部测试解决方案之一. Google 衡量网站性能免费用于广泛选择. 如果您想自
在单元测试/自动测试方面,我相对没有经验,因此请赦免问题是否没有任何意义. 我正在处理的当前代码基础是如此紧密地耦合,以至于我需要在能够在其上运行单元测试之前重构大多数代码,因此我阅读了一些帖子并发现了Selenium,我认为是一个非常酷的程序. 我的客户希望特定的自动化测试每十分钟在我们的生产服务器上运行一次,以确保我们的网站运行,并且某些功能/方面正常运行. 我从来没有真正想过要针对生产服务器进行测试,因为您正在为网站添加其他压力.我一直以为您会针对登台服务器进行所有测试,如果这些测试有效,只要托管提供商没有遇到问题,您只要假设实践网站是在运行的. 关于实际生产服务器上测试生产代码的结局的任何想法? 非常感谢! 解决方案 如果您认为硒脚本是"监视"而不是"测试",也许会有所帮助?我希望每个主要的网站都有某种监视,即使只是定期ping或每隔一段时间加载主页.虽然可以这样做太远,但不要害怕这个概念.那么,此监视/测试对您和您的客户的一些好处可能会有什
我正在从事一个非常需要一些性能调整的项目. 如果我的优化不提高程序的速度,我该如何编写未能失败的测试? 详细说明: 问题没有发现要优化哪些部分.我可以为此使用各种分析和基准测试工具. 问题是使用自动化测试来记录特定优化确实具有预期效果.如果我可以使用测试套件在以后发现可能的性能回归. 也是非常理想的. 我想我可以运行分析工具以获取一些值,然后断言我的优化代码会产生更好的值.但是,显而易见的问题是,基准值不是硬值.它们随当地环境而变化. 那么,始终使用同一台机器进行这种集成测试的答案是吗?如果是这样,您仍然必须在结果中允许一些模糊性,因为即使在相同的硬件基准测试结果上也可能会有所不同.然后如何考虑这一点? 或可能的答案是保持程序的较旧版本并在之前和之后比较结果?这将是我首选的方法,因为它主要是环境不可知的.有人有这种方法经验吗?我想只有在最新版本的性能至少与以前的版本一样好时,只有进行所有测试才能通过. 解决方案 我怀疑将TDD应用于驱动
我会很短. 据我所知,Watir库提供了两种获取HTML元素的方法. 几乎适用于每个元素(div,button,table,li等)watir提供两种方法: .一种是"单数"方法,仅获得一个特定元素.例如: watir_instance.div(:id,'my_div_id') watir_instance.link(:href,'my_link_href') watir_instance.button(:class =>'my_button_class', :index => 4) 这些方法只会检索一个元素.没关系... .第二个是"复数"方法,它将检索Watir实例的所有元素 watir_instance.divs watir_instance.links watir_instance.buttons ,但据我所知,沃特尔没有提供一种获得某些条件的多个元素的方法. watir_instance.divs(:id, 'my_link_i
我正在尝试运行拆卸功能/固定装置,以进行一个测试柜的整个参数化.所以我想在我的conftest.py文件中使用类似的东西 @pytest.fixture(autouse=True, scope="parametrization") def parametrization_scope(): print("First run of parametrization fixture") # Executing 100 parametrizations yield print("Yield run of parametrization fixture") 在我的测试中. @pytest.mark.parametrize(n-params) # run initiate fixture here of parametrization def test(): # executing n number of times # run yield fix
我想将字符串传递到页面模型中的对象中,以通过.withText选择使用.我可以在该页面上使用一个函数来执行此操作,并且可以使用它,但是我必须以与页面上定义的对象不同. . 我尝试使用FilterFn FilterFn(.find)玩FilterFn,没有运气.也许这只是我需要的,但需要帮助,或者我只是想过它. 示例示例页面模型 export class AreaPage { public pageTitle = Selector("#container h1").withText("My Area Title"); public async pageSubtitle(areaName: string) { return await Selector("#container h2").withText(areaName); } } 示例示例测试 test("test some code", async (t) => {
我有一堆在Junit测试套件中组织的测试.这些测试极大地利用硒来测试Web应用程序.因此,对于硒而言,这些测试的运行时间很长.由于由于测试数据库中的一些重叠,套件中的测试类无法平行运行,因此我想并行运行套件. Junit ParallelComputer只能在类或方法级别上执行测试,Junit是否有任何标准方法可以使用套房来执行此操作? 如果我只将套件类传递给Junit Runner并将计算机配置为在类级别上并行化,则选择测试类本身,而不是套件. br 弗兰克 解决方案 这是一些对我有用的代码.我没有写这个.如果您使用@RunWith(ConcurrentSuite.class)而不是@RunWith(Suite.class),则应使用.也需要一个注释,下面可以找到. package utilities.runners; import org.junit.internal.builders.AllDefaultPossibilitiesBuilder;