我正在尝试使用 ruby 和 Selenium WebDriver 和 Eclipse 来利用 BrowserStack 的自动化测试。
这是我试图运行的代码:
require 'rubygems'
require 'selenium-webdriver'
# Input capabilities
caps = Selenium::WebDriver::Remote::Capabilities.new
caps["browser"] = "IE"
caps["browser_version"] = "7.0"
caps["os"] = "Windows"
caps["os_version"] = "XP"
caps["browserstack.debug"] = "true"
caps[:name] = "Testing Selenium 2 with Ruby on BrowserStack"
driver = Selenium::WebDriver.for(:remote,
:url => "http://xxxxxxxxxxxxx:xxxxxxxxxxxxxx@hub.browserstack.com/wd/hub",
:desired_capabilities => caps)
driver.navigate.to "http://www.google.com/ncr"
element = driver.find_element(:name, 'q')
element.send_keys "BrowserStack"
element.submit
puts driver.title
driver.quit
Run Code Online (Sandbox Code Playgroud)
这是我遇到的错误:
/Users/user/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- selenium-webdriver (LoadError)
from /Users/user/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:55:in `require'
from …Run Code Online (Sandbox Code Playgroud) Intern.js是一个伟大的测试人员,但它似乎只适用于SauceLabs.我的公司已经使用了BrowserStack并且非常满意.我想知道是否有人能够将Intern.js与BrowserStack集成,如果是这样的话怎么样?
有没有人在社区成功使用Browserstack作为他们的云提供商在Jenkins中创建了Selenium构建,同时需要在防火墙后面进行本地测试连接?
我可以肯定地说,Saucelabs很容易在连续部署环境中使用Sauce Jenkins插件执行构建,就像我所做的那样.但是,我不能对Browserstack说同样的话.我与之合作的组织目前使用Browserstack,虽然他们的服务确实支持使用二进制应用程序进行自动化测试,但我发现Jenkins很麻烦.我需要确保Browserstack不是一个可行的解决方案,如果是这样的话.我喜欢Saucelabs以及他们的组织提供的东西,但如果Browserstack工作,我不想切换,如果我不需要.
Browserstack文档指示您运行带有一些可用选项的命令,以便在执行之前创建本地连接.
nohup ./[binary file] -localIdentifier [id] [auth key] localhost,3000,0 &
Run Code Online (Sandbox Code Playgroud)
我已将上述语句添加为预构建步骤shell命令.我必须添加'nohup',因为一旦二进制创建成功的连接,构建永远不会实际开始,因为我没有退出,如下面的输出中所示.
BrowserStackLocal v3.5
您现在可以在我们的远程浏览器中访问本地服务器.
按Ctrl-C退出
通常我可以成功执行第一个构建而没有问题.使用相同命令的后续构建配置永远不会连接.显示上述消息,但在测试执行期间,Browserstack报告未建立本地测试连接.这让我很困惑.
为了让您更好地了解正在执行的内容,我为各种项目套件和浏览器组合提供了15种构建配置.存在两个Jenkins执行程序,我在任何给定时间都有超过5个Browserstack VM.当关联的项目代码被推送到登台服务器时,其中五个构建将自动开始执行,从而填满两个执行程序.其中一个将开始并结束.其他人都不会像Browserstack报告本地测试不可用.
Saucelabs显然已经用他们的插件解决了这个问题,这很棒.如果Browserstack需要shell命令来创建本地测试连接,我必须做错事,乱序,等等.
环境:
有人可以发布一些在连续测试环境中使用Browserstack的信息,同时利用多个并行测试执行并告诉我每个构建是如何配置的?
谢谢,
我只是想将剪贴板中的 URL 粘贴到 browserstack 中,但它不会粘贴。
这提到了当你不应该能够:
您无法从远程浏览器复制到您的浏览器:在 Firefox 和 Chrome 中,如果未安装 BrowserStack 扩展。
我确实安装了“BrowserStack Local”,但它不起作用。我尝试从文本文档(而不是浏览器)复制 url,但它仍然不允许我将其粘贴到 BrowserStack 浏览器中。
我正在BrowserStack上运行Selenium测试,并且sendkeys命令未将指定的文本发送到输入字段。我注意到,此问题通常发生在诸如@,#等特殊字符的情况下。
我如何解决它?
我有一个 behat 测试,它单击一个按钮,通常会在新选项卡中打开一个 url。
我可以测试单击按钮后是否打开了一个新选项卡?
这是小黄瓜:
Scenario: Open document in a new tab
Given I am a "Project Admin" for project "x"
And Project "x" has document type "orbitron" with editor "none"
And I create a new orbeon form "orbitron" for project "x" from fixture "OrbitronFilePicker.xhtml"
Then I visit the orbeon new content form for document type "orbitron" in project "x"
And I can see the "file-picker" control
When I enter a valid file picker reference "urn:isite:x:mickeyMouse"
Then I can …Run Code Online (Sandbox Code Playgroud) 我为 TestCafé 使用了“testcafe-browser.provider-browserstack”插件。我尝试在我的应用程序中使用它,但我总是收到一条消息,提示登录错误。数据是正确的(只是“测试”这篇文章)
const createTestCafe = require('testcafe');
const BrowserStack = require("testcafe-browser-provider-browserstack");
let testcafe = null;
process.env.BROWSERSTACK_USERNAME="test";
process.env.BROWSERSTACK_PASSWORD="test";
createTestCafe('localhost', 1337, 1338)
.then(tc => {
testcafe = tc;
const runner = testcafe.createRunner();
return runner
.src(['tests/fixture1.js', 'tests/ingo1.js'])
.browsers('browserstack:Chrome')
//.browsers(['chrome'])
.screenshots('allure/screenshots/', true)
.reporter('allure')
.run();
})
.then(failedCount => {
console.log('Tests failed: ' + failedCount);
testcafe.close();
});
Run Code Online (Sandbox Code Playgroud) automated-tests web-testing browserstack e2e-testing testcafe
任何人都知道为什么browserstack可能会不断请求localhost:45691.当我在Chrome中打开browserstack时,我会不断收到此请求.
XMLHttpRequest cannot load localhost:45691. Origin http://www.browserstack.com is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)
在FF中它显示一个导致问题localhost的JS文件:45691 / http://www.browserstack.com/assets/bsjs.js?1376347645
谁有这个问题?我甚至在3天前向浏览器堆栈发送了一个报告,也没有.这真让我抓狂.
我已经用Sauce进行了跨浏览器测试一段时间了.我最近听说过BrowserStack,并决定尝试一下.我挖掘它......它的速度更快,而且UI更加直观和合作.
我花了很长时间才找到让IE8识别媒体查询的方法.无论我做了什么(我在阳光下尝试了一切),Respond.js都不起作用,但最终我尝试了css3-mediaqueries.js,它似乎正在溜槽外工作.
但是当我在BrowserStack中测试同一页面时,没有媒体查询.
任何人都可以告诉我,相同的测试参数(IE8,Windows 7,1024x768)如何显示在Sauce中运行的媒体查询,但在BrowserStack中却没有?
这是我正在使用的精简测试页链接:
我正在使用Kestrel在本地端口上托管.NET Core HTTP应用程序在本地端口上,以进行一些基于浏览器的UI测试,但是当尝试使用带有BrowserStack Automate with的真实iOS设备访问它时BrowserStackLocal.exe,Safari始终拒绝加载页面。
我已经尝试了此处记录的IP范围的各个部分,但都没有成功。桌面浏览器(Windows上的Chrome,IE,Edge和Firefox,macOS Mojave上的Safari)和真实的Android设备可以正常工作。
我还尝试过使用机器的本地IP地址和此处所述的完全限定的域名(FQDN),但由于Windows防火墙阻止了连接,即使通过BrowserStack Automate也可以解析该地址,它们都无法移植。
端口80不是可行的解决方案,因为开发人员的计算机将使用该端口在其计算机上运行IIS,因此该端口不可用于其他目的。
鉴于以下限制,什么是可行的解决方案?
dotnet test)。BS 有几篇关于代理/防火墙的文章。
1) https://www.browserstack.com/local-testing#modifiers
2) https://www.browserstack.com/downloads/Local-Testing-Internals.pdf
在参考文献 2 中,似乎 BS 人们想到的唯一代理/防火墙方案是:BS 本地(和内部服务器)和 BS 基础设施之间存在防火墙。
然后在参考文献 1 中,我完全困惑于:
BrowserStackLocal.exe --key ACCESS_KEY --proxy-host <proxy_host> --proxy-port <proxy_port>
BrowserStackLocal.exe --key ACCESS_KEY --local-proxy-host <browsermob_proxy_host> --local-proxy-port <browsermob_proxy_port> --local-proxy-user <proxy_username> --local-proxy-pass <proxy_password>
Run Code Online (Sandbox Code Playgroud)
何时使用其中之一?
另外我在参考文献 1 中不明白,他们谈论“代理背后”和“防火墙或 VPN 后面”有什么区别。假设我在受防火墙保护的企业环境中进行测试,那么“代理背后”是什么?
有人会澄清吗?
browserstack ×11
selenium ×3
.net-core ×1
bdd ×1
behat ×1
copy-paste ×1
e2e-testing ×1
eclipse ×1
intern ×1
ios ×1
java ×1
jenkins ×1
mink ×1
php ×1
protractor ×1
proxy ×1
ruby ×1
saucelabs ×1
testcafe ×1
web-testing ×1