--- TL; DR
此时我建议大家将他们的持续集成服务器/服务绑定到https://ghostinspector.com/
老问题
经过三天的谷歌搜索和测试,我放弃了,我需要帮助.
我的目标是允许我的同事用Selenium IDE记录一个或多个测试.导出它们,将它们上传到服务器,然后使用带有htmlunit的webdriver让这台服务器运行这些测试.在我们构建或修复应用程序时,我们将上传测试以制作测试库.
用Selenium IDE记录测试是可以的.但让它运行就是问题所在.我们打算让测试的机器是linux亚马逊服务器.没有前端的东西,没有kde,gtk,所以没有firefox,chrome等...这就是为什么我已经指定了htmlunit驱动程序.
到目前为止,我无法将此任务运行到我的机器上 - Ubuntu 12.04 x86_64.
我下载了selenium-server tarball,并尝试运行:
java -jar selenium-server.jar -htmlSuite "*webdriver" "our.site.org" "/path/to/testsuite1.html" "/path/to/report1.html"
Run Code Online (Sandbox Code Playgroud)
没有成功.甚至更改"*webdriver"(使用其他弹出浏览器屏幕).
我试过运行服务器和独立服务器并通过浏览器连接.
我试过facebook的PHP绑定.
我已经尝试过PHPUnit和测试Selenium类 - 以及他们各自从Selenium Formatters导出的脚本.
我真的不知道我在哪里滑倒.任何人都可以给我一个安全的方向,教程等跟随?
--- 编辑
好的,我的问题可能会恢复为:
使用HtmlUnit驱动程序,允许我使用selenium-server运行selenese脚本的命令行是什么?
continuous-integration selenium ui-testing htmlunit selenium-webdriver
这是我的简单UITest (tabbarcontroller中的标签的自定义顺序):
func testIsOrderOfTabsSaved() {
let app = XCUIApplication()
let tabBarsQuery = app.tabBars
tabBarsQuery.buttons["More"].tap()
app.navigationBars["More"].buttons["Edit"].tap()
tabBarsQuery.buttons["Takeaway"].swipeLeft()
tabBarsQuery.buttons["In Restaurant"].swipeLeft()
//here, how to get position of moved button with text "In Restaurant"?
Run Code Online (Sandbox Code Playgroud)
注意:
可以XCUIElement从XCUIElementQuery索引获得.我可以这样做吗?
我正在使用XCode7-UItest来测试我的应用程序.
我在UITestTarget的文件中添加了几个日志.这些测试将通过我的构建机器的Xcode在设备上执行.我可以在"显示报告导航器"选项下查看Xcode上的这些日志,但我想将这些日志从构建机器发送给其他开发人员,以便他们可以查看这些日志.
有没有办法通过Xcode收集和导出这些UITest日志?我只能通过手动从XCode粘贴日志来找到这样做,这是一个繁琐的过程.
我在Xcode 7中使用新的XCUI测试在真实设备上运行一些测试时遇到了麻烦.我编写了一个简单的猴子测试程序,可以在10分钟内与我们的应用程序进行各种交互.这可以使用模拟器正常工作,但是对于真实设备,它会在大约3-6分钟后丢失与设备的连接,并在日志中显示以下内容:
"观察到令牌xxxxx的跟踪器终止以启动xxxx"
为了找到问题,我把测试重新调整为坐下睡觉10分钟,它运行正常.然后我每隔5秒就引入一次滑动,然后立即重新出现连接问题
我已经尝试了所有明显的修复,例如不同的设备,不同的机器,不同的电缆等
任何帮助非常感谢
我现在可以将FBSimulatorControl链接到我自己的OSX应用程序并从那里启动多个模拟器.我现在想在这些模拟器中运行我的UI测试代码,就像在这个视频链接中一样.http://adventuresinautomation.blogspot.com.au/2015/09/seconf2015-notes-from-simon-stewarts.html.
我找不到任何关于如何完全按照它们做的文档,提升多个模拟器,然后在所有模拟器上运行我的每个测试用例.我也想看看如何使用xcode7 UIAutomation Testing运行它
首先,如果我浪费你的时间,我道歉,因为它看起来像一个简单的步骤,即使经过一些研究,我也无法弄清楚.
好的,这是我想要实现的,我已经使用TestStack.White编写了一些UI测试,我想在Jenkins Slave上以不同的用户执行此操作,因为应用程序根据分配给它们的角色的行为不同在Active Directory中.
所以在google上做了一些查找后,我发现以下链接与我想要实现的内容相关.
看起来我必须在Jenkins slave上安装TightVNC并且应该从Jenkins Master连接到slave并在slave上执行测试.
这让我想到了第一个问题,我如何从詹金斯的工作中完全实现这一目标?
关于以不同用户身份登录,我明白我可以使用"autologon.exe"来实现这一点.所以只是想知道如何在Jenkins Master的Windows Slave上做到这一点.我的公司不允许SSH到Windows实例(从机),我无法从Jenkins Master远程执行SSH.
我知道我可能没有正确地看待这个,所以任何帮助都会非常感激.
提前感谢您的时间和建议.
问题是,当CI服务器第一次进行Bot集成时,所有(UI和UNIT)测试运行正常,但在第二次集成时服务器仍然处于这种状态:
我无法取消集成,无法停止进程,每次第二次集成我都需要删除机器人并创建新机器人.
使用iOS上的最后一个macOS Server XCode 8和iPhone 7 Simulator,我尝试了另一个模拟器,没有任何改变.
如果我有UITest就会发生这种情况,UNIT Tests运行正常.
最近几天出现了一个小问题,我将在Visual Studio 2017上创建一个新的Xamarin Forms项目,并添加一个Xamarin.UITest跨平台测试项目进行单元测试,当我引用时会收到一系列NU1201错误UITest项目中的.Android应用。
这是我得到的确切错误:
Error NU1201 Project App1.Android is not compatible with net461 (.NETFramework,Version=v4.6.1) / win-x64. Project App1.Android supports: monoandroid81 (MonoAndroid,Version=v8.1)
Run Code Online (Sandbox Code Playgroud)
我一直在玩Android版本号,以查看UITesting包是否不支持最新的android,但是无论我瞄准的是哪个版本的android,问题都保持不变。
这是该项目的屏幕截图。
所有代码均与默认项目保持不变,并且可以在模拟器中正常运行,但仅在将Android应用程序引用到UITest项目时才产生这些错误。
当测试位于不同的文件中时,有没有一种方法可以在Flutter中运行多个UI测试。目前,当一个人想运行一个称为不同于测试main_test.dart则target参数用于:
flutter drive --target=./test_driver/feature_one_test.dart
有没有办法给定文件夹中的所有测试?例如:
flutter drive --target=./test_driver/*
干杯!
我正在尝试实现一个自定义方法,以查找元素是否在当前视图端口中
以下是我尝试实现的代码片段,但结果未呈现布尔结果:
export const isElementInViewport = () => {
const getBoundValues = ClientFunction(() => document.querySelectorAll(".hero-getstart").item(0).getBoundingClientRect());
const windowHeight = ClientFunction(() => window.innerHeight);
const windowWidth = ClientFunction(() => window.innerWidth);
return getBoundValues.bottom > 0 && getBoundValues.right > 0 && getBoundValues.left < (windowWidth || document.documentElement.clientWidth) && getBoundValues.top < (windowHeight || document.documentElement.clientHeight);
};
Run Code Online (Sandbox Code Playgroud)
上面的代码在浏览器控制台上可以正常运行,即,当我尝试将getBoundValuesin 存储在变量A中并尝试运行return命令时,它会根据视口中元素的可见性将输出打印为true或false。脚本,它总是给出一个假:
这是触发上述方法的方法:
export const verifyElementInView = () => {
const elementVisible = isElementInViewport();
console.log(elementVisible);
};
Run Code Online (Sandbox Code Playgroud)
输出始终为假。
这是我尝试执行时收到的输出摘要console.log(getBoundValues):
{ [Function: __$$clientFunction$$]
with: [Function],
[Symbol(functionBuilder)]:
ClientFunctionBuilder {
callsiteNames:
{ …Run Code Online (Sandbox Code Playgroud)