这是一个示例代码:
<div id="productOrderContainer">
<table class="table gradient myPage">
Run Code Online (Sandbox Code Playgroud)
因此,在productOrderContainer中的这个表有几列,并且根据几个东西将有几行,它们都有几列.一个例子是:
我想要做的是例如获取此表的第一行.(行具有如下的id <td rowspan="1">:)然后再例如在此rowspan中查找特定值中的特定值<div>
所以在psudo-code中我想说的是:
把我拿到桌子上,给我第n排,让我获得价值 <div id='something'>
selenium automated-tests web-testing gui-testing selenium-webdriver
我想用SWTBot测试一个简单的SWT GUI应用程序.不幸的是,我不知道如何开始.有几个教程描述了Eclipse插件的测试,但我找不到任何关于我的问题的内容.我甚至不知道是否有可能.
用例是,我有一个Qt应用程序,我想自动进行用户式测试; 也就是说,我想使用keyClicks(),mouseClick()等,但我想在发生这种情况时实际显示Qt应用程序窗口.
我现在遇到的问题是使用QTestLib涉及使用QTEST_MAIN宏而不是自己定义main,所以我永远不会有机会展示()正在测试的小部件.所以,另一种说出这个问题的方法是,有没有办法在使用其主要功能的应用程序上使用QTestLib?
我知道Squish和可能的Testability Driver都能做到这一点,但如果可以在不使用额外工具的情况下获得此功能,那么这将是理想的选择.
我们有一个典型的Web应用程序堆栈.有120个针对应用程序执行的selenium(webdriver)测试.这需要约1小时.我们将它们作为构建链"compile> unit test> integration test> gui tests"的一部分执行.gui测试占用了大量时间,我们想知道如何更好地构建它们.目前他们是"快乐案例和不快乐"案件测试.它们非常稳定,即它们不会因程序员错误而失败.
我们希望缩短构建时间,最重要的是gui测试.我们想基于"客户旅程"这样做,即指定(与商界人士一起)一些典型的用例并测试它们(快乐路径)而不是测试太多.....
你们如何构建你的gui测试?这里有一些我想到的想法
我很感激你的想法
谢谢马塞尔
testing user-interface selenium integration-testing gui-testing
有人可以建议一个测试自动化工具来自动化Java applet窗口吗?要求它也能识别applet窗口中的各种按钮.
我选择以下其中一项进行测试:Telerik Free Testing Framework和Selenium
Web项目是一个用C#和JavaScript编写的站点.
你能告诉哪些测试人员可以选择,为什么?
突出显示上述测试工具的差异?
我一直在编写一些GUI测试框架,可以通过记录鼠标和键盘事件并重放它们来记录和重放某些GUI用户场景.
鼠标事件当前记录为(press or release, (x, y)).但是,这非常脆弱,因为如果只有目标窗口小部件移动几个像素,但结构和其他所有内容保持不变,则测试用例将停止工作.
有什么更好的方法来做到这一点?我能想到的一些事情
在窗口小部件树及其父窗口小部件中记录目标窗口小部件的"树路径".即(press or release, (top level, first child, second child, destination)),"子列表"是Qt QObject子列表返回的内容.我认为这有一个缺点,即测试现在依赖于内部代码结构.
为每个可测试窗口小部件提供唯一名称,并在重播时使用该名称搜索窗口小部件.这似乎是一个不可忽视的开销.
任何其他想法,以及通常接受的"最佳"方法是什么?
我们希望通过 Github Actions 使我们的集成测试能够在 Linux 桌面(ubuntu-latest)上运行。
命令是
flutter config --enable-linux-desktop
flutter test -d linux integration_test
Run Code Online (Sandbox Code Playgroud)
但我们总是得到一个错误:
Error waiting for a debug connection: The log reader stopped unexpectedly, or never started.
//...
TestDeviceException(Unable to start the app on the device.)
package:flutter_tools/src/test/integration_test_device.dart 61:7 IntegrationTestTestDevice.start
Run Code Online (Sandbox Code Playgroud)
Github Actions 是否无法在 CPU 上足够快地处理 GPU/GUI 相关的内容或者发生了什么?这可能吗?我发现只有一个存储库可以为 Linux 环境调用类似的命令。
谢谢!
gui-testing flutter github-actions flutter-linux flutter-integration-test
我正在使用 Jetpack Compose 测试库实现一些仪器测试。我对 Kotlin / Android 开发还不太熟悉,但我有多年使用 Selenium 和其他测试库的经验,所以我缺少一些基本的东西,并且不知道如何实现它们。
我想做的事:
在 Selenium 上我可以轻松做到这一点:
elements = driver.find_elements("item")
elements.each do |element|
element.click
end
Run Code Online (Sandbox Code Playgroud)
但在具有组合测试框架的 Kotlin 上,我不知道如何做到这一点。下面的方法(负责返回节点列表)不支持forEach:
composeTestRule.onAllNodes(hasTestTag("item")
Run Code Online (Sandbox Code Playgroud)
在 Selenium 上,以下方法返回找到的项目数量:
driver.find_elements("item").size
Run Code Online (Sandbox Code Playgroud)
但是,再一次,没有什么可以与写作相提并论:
composeTestRule.onAllNodes(hasTestTag("item")
Run Code Online (Sandbox Code Playgroud)
我已经阅读了官方的JetPack Compose 测试教程,但它没有提供太多细节
automated-tests gui-testing kotlin instrumented-test android-jetpack-compose-testing
在我们的代码中,我们使用外部 SDK 来登录用户 (Auth0)。此 SDK 使用意图打开 WebView ACTION_VIEW。
我试图重写我们已有的一些自动化测试(在此切换之前我们使用本机登录)。WebView 正确打开,但是当我尝试使用androidx.test.espresso:espresso-web代码与其交互时onWebView().forceJavascriptEnabled()
,出现以下错误:
androidx.test.espresso.NoActivityResumedException: No activities in stage RESUMED. Did you forget to launch the activity. (test.getActivity() or similar)?
at dalvik.system.VMStack.getThreadStackTrace(Native Method)
at java.lang.Thread.getStackTrace(Thread.java:1841)
at androidx.test.espresso.base.EspressoExceptionHandler.handleSafely(EspressoExceptionHandler.java:2)
at androidx.test.espresso.base.EspressoExceptionHandler.handleSafely(EspressoExceptionHandler.java:1)
at androidx.test.espresso.base.DefaultFailureHandler$TypedFailureHandler.handle(DefaultFailureHandler.java:4)
at androidx.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:5)
at androidx.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:8)
at androidx.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:11)
at androidx.test.espresso.ViewInteraction.perform(ViewInteraction.java:8)
at androidx.test.espresso.web.sugar.Web$WebInteraction.forceJavascriptEnabled(Web.java:1)
Run Code Online (Sandbox Code Playgroud)
相反,如果我不使用forceJavascriptEnabled(),并直接尝试使用 访问 WebView onWebView().withElement(),则会收到错误:
androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: an instance of android.webkit.WebView and webView.getSettings().getJavaScriptEnabled() is <true>
View Hierarchy:
+>DecorView{id=-1, visibility=VISIBLE, width=1080, height=2400, …Run Code Online (Sandbox Code Playgroud)