问题标签 [sahi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
phantomjs - 使用 behat 测试本地 PHP Web 应用程序时,Sahi + PhantomJS 失败
我在测试设置了 behat+sahi+phantomjs 的本地托管 Web 应用程序时遇到问题。
- 我只用 behat+sahi+chrome 运行了完整的套件,效果很好
- 我还针对运行良好的现场 stie 测试了一个小样本 behat 测试
当我将 base_url 指向本地托管的应用程序或部署了该应用程序的服务器时,问题似乎都会发生
像这样简单的事情:
输出结果:
我正在使用此处详述的设置:http: //shaneuckland.co.uk/2012/11/headless-behatmink-testing-with-sahi-and-phantomjs/
这是配置问题吗?还是因为该应用程序也托管在本地主机上?
我可以尝试如何进一步解决此问题?
谢谢
stub - Selenium 模拟服务器访问
我有一个网站,我想使用 Selenium WebDriver(2.28 版)进行测试,并将其与我的 CI(Maven 和 Hudson)集成。
问题是为了正确测试前端,我需要访问服务器(对于实际的 HTML 和 REST 资源)。如果我在构建过程中访问我构建和部署的实际服务器,则测试将不会被完全封装,因为每次数据可能都不同(基于在构建环境的数据库中驻留的数据)建造)。
因此,在我看来,我必须模拟服务器访问。我只是在 Selenium 中找不到对此的支持,而且我想不出没有 Selenium 支持的最佳方法。
我可以在实际服务器中的不同 URL 上为我的所有资源(HTML 和 REST)创建模拟,并在我的测试中访问这些资源而不是生产级资源(使用某种标志来指示我应该访问模拟资源而不是真实资源)。但这并不是真正的嘲讽...
作为参考,我看到在 Sahi 测试框架中有一个 addMock(url, class_function) 的特性 - 当 Sahi 运行到指定的 URL 时,它将调用指定的类和函数而不是访问 URL,而类和函数应该提供资源,而不是提供资源的 URL。
我正在 Selenium 中寻找类似的东西(尽管可能不可能,因为 Sahi 充当代理)。
非常感谢,丹尼尔
php - 无法在 Symfony2 应用程序中使用 Sahi / Mink / Behat 上传文件
我在 Symfony2 应用程序中使用 Mink 和 Sahi 进行用户界面测试。但实际上我无法使用 Sahi 上传文件。
我的 Sahi 服务器已启动并正在运行:
我的步骤实现:
请注意,如果我使用不是/home/coil/Webdev/sahi/userdata
目录的文件,则会收到以下错误:
因此,Sahi 可以“找到”该文件,因为它不会对有效且现有的文件引发任何错误。但是当提交表单时,Sahi 代理永远不会上传文件。
其他检查:
- 我删除了客户端 HTML5 和 JavaScript 验证以确保没有副作用。
- 我所有其他的 Sahi 测试都可以,只有 3 个带有 Upload 的测试没有通过
- 代理是在我的测试浏览器中设置的
- 我可以毫无问题地在浏览器中打开 Sahi 控制器
- MaxOsX 和 Ubuntu 上的同样问题
- 每次我运行上传测试时,我都会在 /userdata/temp/download 中有一个新条目,命名为
sahi_11a83f8806be8046fc0aaa80eac076110b95__fr-fr-2-0.bdic
真正奇怪的是,我确信这些测试已经通过了一段时间,我的应用程序或配置中肯定发生了一些改变,这会破坏 Sahi 文件的上传,但我找不到什么。之前在 Sahi 控制台中,我有关于它正在上传的文件的日志,现在根本没有日志。
sahi - 使用双 UI 进行测试
我有一个基于浏览器的测试程序,用于测试基于浏览器的应用程序。这意味着我需要记录交替操作测试程序和应用程序的序列,以检查它是否正确反应,以便我可以执行自动化测试。
我应该如何使用 SAHI?
我看不到同时记录两个单独 URL 的方法。我尝试使用框架和 iframe 组合两个 UI,但我无法让 SAHI 记录在框架/iframe 中。
我可以修改测试程序,以便我可以从 SAHI 调用的脚本中调用它,但这反而违背了拥有自动化工具的目标......
有什么建议么?
javascript - sahi - 动态表
我试图弄清楚如何找到特定文本值所在的行号(它是一个动态创建的表,所以如果删除/添加某些内容,行号会改变。)然后我想从中获取文本该行中的一列(始终相同 [5]),将其保存到变量中,然后对保存的文本执行断言。我在这里看到了一些代码,它允许我循环遍历表格的行,但是我还没有看到循环遍历表格行直到找到特定内容的代码,我见过的所有示例总是到最后有问题的表。
任何指针表示赞赏。
excel - 如何使用 Sahi Pro _getExcel API 在 Excel 文件中设置单元格值?
所以这是我的脚本:
最后一行中关于该$db.set
函数的某些内容因错误而失败Wrapped java.lang.NullPointerException
。我尝试过传递带括号和不带括号的索引,但总是得到相同的结果。有人知道我要去哪里错了吗?
当前所有在线帮助似乎都使用旧方法,将 Excel 文件视为具有该_dbGet
功能的数据库。
html - 在利用验证数据属性的 HTML5 文本框上使用 Sahi 函数 _setValue() 时遇到问题
我尝试在我的 HTML5 登录页面上的文本框中插入文本,但它不起作用。控制器发现元素没问题,当脚本被播放时,它甚至将案例记录为成功,但没有填充文本。
这是文本框的来源:
<input id="Username" class="standard defaultfocus input-validation-error" type="text" value="" name="Username" maxlength="100" data-val-required="Please enter a valid Email Address" data-val-regex-pattern="^[a-zA-Z0-9]+(\.{0,1}[a-zA-Z0-9_%+-]+)*\@[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)+$" data-val-regex="Please enter a valid Email Address" data-val="true"></input>
这是Sahi脚本:
_setValue(_textbox("Username"), "email@email.com");
知道如何让 Sahi 填写这个 texbox 吗?
谢谢。
sahi - 有没有办法在使用 Sahi Pro 播放期间处理弹出窗口,而每个弹出窗口都不会打开自己的控制器窗口?
我正在使用 Sahi Pro 测试链接列表,每个链接都会打开一个弹出窗口,我必须在其中断言一些元素可用。我可以使用 _closeWindow 摆脱每个弹出窗口,但我注意到每次加载新弹出窗口时,它都会打开一个新的 Sahi 控制器窗口来执行该弹出窗口中的脚本。当弹出窗口关闭时,这些控制器窗口不会关闭。不久之后,就会有太多打开的控制器窗口导致测试执行冻结。
有没有办法以编程方式关闭这些控制器窗口?还是首先防止每个弹出窗口出现新的弹出窗口?
ruby - 如何在 sahi for ruby 中通过多个属性查找对象
在 Sahi 控制器中,这工作正常
但是我在 sahi 下面尝试了 ruby,它总是返回 false。