我正在尝试测试排序是否适用于我正在测试的应用程序.我添加了两个条目'a'和'b'.我想测试一下b之前出现的情况.Html如下:
<ul id="attendee-list" class="bars">
<div>
<li id="attendee-812202" class="bar border link attendee">
<a class="expandable clearfix" href="#!/person/812202/">
</div>
<div class="description">
<p class="title">a</p>
<p class="subtitle"></p>
<p class="subtitle"></p>
</div>
</a>
</li>
</div>
<div>
<li id="attendee-812206" class="bar border link attendee">
<a class="expandable clearfix" href="#!/person/812206/">
<div class="description">
<p class="title">b</p>
<p class="subtitle"></p>
<p class="subtitle"></p>
</div>
</a>
</li>
</div>
</ul>
Run Code Online (Sandbox Code Playgroud)
所以我试过的是以下内容:
find("ul.bars li:nth-child(1) a div.description p.title").should have_content("a")
find("ul.bars li:nth-child(2) a div.description p.title").should have_content("b")
Run Code Online (Sandbox Code Playgroud)
但是我得到了一个模棱两可的匹配错误.有谁知道我在这里做错了什么或者可能是另一种方法来验证?
我希望点击我的测试应用程序上显示的弹出消息(如果存在).我是水豚的新手,似乎找不到办法做到这一点.我之前有过watir的经验,如果我用watir这样做,它会是这样的:
if browser.link(:text, "name").exists? do
browser.link(:text, "name").click
end
Run Code Online (Sandbox Code Playgroud)
我怎么能在水豚做同样的事情?请注意,此链接并不总是出现,因此我希望获得if语句.
我正在测试的应用程序是一个基于Web的应用程序.是否可以使用Appium进行测试?在他们的网站上,它指出"Appium是一个开源测试自动化框架,用于本机和混合移动应用程序."
所以我不确定这是否适用于我的网络应用程序,因为它不是本机应用程序或混合应用程序.
有人可以开导我吗?
谢谢!
我希望有人可以帮助我解决我在运行黄瓜测试时遇到的问题.
我收到以下错误:
Timeout::Error (Timeout::Error)
C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:146:in `rescue in rbuf_fill'
C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:140:in `rbuf_fill'
C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:122:in `readuntil'
C:/Ruby193/lib/ruby/1.9.1/net/protocol.rb:132:in `readline'
C:/Ruby193/lib/ruby/1.9.1/net/http.rb:2562:in `read_status_line'
C:/Ruby193/lib/ruby/1.9.1/net/http.rb:2551:in `read_new'
C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1319:in `block in transport_request'
C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1316:in `catch'
C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1316:in `transport_request'
C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1293:in `request'
C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1286:in `block in request'
C:/Ruby193/lib/ruby/1.9.1/net/http.rb:745:in `start'
C:/Ruby193/lib/ruby/1.9.1/net/http.rb:1284:in `request'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/http/default.rb:82:in `response_for'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/http/default.rb:38:in `request'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/http/common.rb:40:in `call'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/bridge.rb:598:in `raw_execute'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/bridge.rb:576:in `execute'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/remote/bridge.rb:242:in `getScreenshot'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb:34:in `screenshot_as'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb:18:in `block in save_screenshot'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb:18:in `open'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.25.0/lib/selenium/webdriver/common/driver_extensions/takes_screenshot.rb:18:in `save_screenshot'
Run Code Online (Sandbox Code Playgroud)
有没有人知道是什么原因造成的?
在我的测试套件执行期间随机发生此错误.在套件中我会有150个场景,我看到这个错误发生在不同的阶段.例如,可能发生在方案50或方案100中.我通过Jenkins的rake文件或通过cmd窗口运行我的测试但是如果我使用任何一种方法都会发生错误.
我们这里的测试站点可能有点奇怪,而且这里有一个奇怪的超时,可能会有所期待.但是,一旦此错误开始发生,从测试中发生的所有其他测试发生错误将具有相同的问题.我的场景都不依赖于彼此.每个场景通常都以一个步骤开始I go to the homepage- 在.rb我已经@browser.cookies.clear包含的文件中的这个步骤中,因此前一个场景中不应该剩下任何数据.
有没有其他人遇到这个,如果是这样你采取了什么步骤来排序它?
对于我正在处理的项目,我需要伪造一个IP地址,以显示我来自其他国家/地区.
基本上,如果检测到的IP来自英国,则显示弹出窗口A,如果检测到的IP来自英国以外,则显示弹出窗口B.
我希望能够实现自动化.目前我们所有的浏览器自动化测试都是用cucumber/watir编写的,我想得到一个使用相同框架的解决方案.
有谁知道这样做的可行方法?
谢谢!
我希望使用rake在包含spec文件夹的文件夹中运行特定的测试.我的文件夹结构如下:
- tests
-spec
- folder_A
- folder_B
- rakefile
Run Code Online (Sandbox Code Playgroud)
因此,例如,当部署某些代码时,我只想在folder_A中运行测试.我如何使用rake做到这一点?我的rakefile存在于我的tests文件夹中.我目前有这个命令:
RSpec::Core::RakeTask.new(:spec)
task :default => :spec
Run Code Online (Sandbox Code Playgroud)
这会像您期望的那样在spec文件夹中运行所有测试.我已经尝试将rake文件移动到spec文件夹并将rake任务编辑为:
RSpec::Core::RakeTask.new(:folder_A)
task :default => :folder_A
Run Code Online (Sandbox Code Playgroud)
但是,这给了我一条消息:"没有找到匹配./spec{,/ /*}/*_ spec.rb的示例"(请注意,文件夹A和BI中的子目录包含被测应用程序的不同区域)
我可以在同一个rakefile中有两个不同的rake任务,它们只能从folder_A运行测试吗?
任何帮助都会很棒!!
我为一家提供wifi的公司工作.我有一些接入点设置,我想写一些模拟连接到这些接入点的自动化测试.
所以我的测试将是这样的:
是否可以使用Appium来做到这一点?如果是这样,我真的很感激,如果有人能够提供更多关于如何做到这一点的信息.
谢谢!
我希望在浏览器选项卡之间切换我正在测试的功能.但是我无法做到这一点.尝试过使用以下内容:
page.driver.browser.switch_to.window(page.driver.browser.window_handles.first)
Run Code Online (Sandbox Code Playgroud)
我的想法是,当我在第二个选项卡上时,上面的代码应该将它带回第一个选项卡.但这不起作用.
我也试图用这个关闭第二个标签:
page.execute_script "window.close();"
Run Code Online (Sandbox Code Playgroud)
但这确实做了什么,标签没有关闭,也没有整个浏览器窗口显示它没有做任何事情.
有没有其他人有这样的问题,你是如何找到解决方案的?我正在使用FireFox.
我正在尝试使用他们的二进制文件连接到浏览器堆栈并将我的密钥作为参数传递。如果我在终端窗口中执行此操作:
./BrowserStackLocal --key ${BROWSERSTACK_KEY}
Run Code Online (Sandbox Code Playgroud)
连接成功,我的密钥按预期传递。但是我希望使用 execFile 通过节点运行这个二进制文件。下面是我的代码
./BrowserStackLocal --key ${BROWSERSTACK_KEY}
Run Code Online (Sandbox Code Playgroud)
但是,当我运行我的函数时,我得到以下信息:
Run Code Online (Sandbox Code Playgroud)BrowserStackLocal v7.1 *** Error: Atleast one argument is required! To test an internal server, run: ./BrowserStackLocal --key <KEY> Example: ./BrowserStackLocal --key DsVSdoJPBi2z44sbGFx1 To test HTML files, run: ./BrowserStackLocal --key <KEY> --folder <full path to local folder> Example: ./BrowserStackLocal --key DsVSdoJPBi2z44sbGFx1 --folder /Applications/MAMP/htdocs/example/
所以它看不到我的钥匙。我遵循了这里的指南:https : //nodejs.org/api/child_process.html#child_process_child_process_execfile_file_args_options_callback我以为我以正确的方式传递参数,但我显然做错了什么。有人可以帮我吗?谢谢!
我最近开始使用capybara-webkit来加速我的验收测试.我的测试中有90%使用标准的capybara DSL运行,但有些略有不同.
我遇到问题的主要原因之一是删除cookie.以前我用过以下内容:
page.driver.browser.manage.delete_all_cookies
Run Code Online (Sandbox Code Playgroud)
但这不适用于capybara-webkit.收到此错误:
undefined method `delete_cookie' for #<Selenium::WebDriver::Driver:0x007f86cb068b88> (NoMethodError)
Run Code Online (Sandbox Code Playgroud)
有谁知道如何使用capybara-webkit删除cookie?
谢谢!