标签: gui-testing

如何使用Selenium在表格中查找特定行?

这是一个示例代码:

<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

9
推荐指数
2
解决办法
10万
查看次数

使用SWTBot测试SWT GUI

我想用SWTBot测试一个简单的SWT GUI应用程序.不幸的是,我不知道如何开始.有几个教程描述了Eclipse插件的测试,但我找不到任何关于我的问题的内容.我甚至不知道是否有可能.

testing swt gui-testing swtbot

8
推荐指数
1
解决办法
7756
查看次数

QTestLib是否可以在运行时显示正在测试的GUI?

用例是,我有一个Qt应用程序,我想自动进行用户式测试; 也就是说,我想使用keyClicks(),mouseClick()等,但我想在发生这种情况时实际显示Qt应用程序窗口.

我现在遇到的问题是使用QTestLib涉及使用QTEST_MAIN宏而不是自己定义main,所以我永远不会有机会展示()正在测试的小部件.所以,另一种说出这个问题的方法是,有没有办法在使用其主要功能的应用程序上使用QTestLib?

我知道Squish和可能的Testability Driver都能做到这一点,但如果可以在不使用额外工具的情况下获得此功能,那么这将是理想的选择.

c++ qt gui-testing qttest qtestlib

8
推荐指数
1
解决办法
1366
查看次数

Gui测试需要太长时间 - 你的方法是什么?

我们有一个典型的Web应用程序堆栈.有120个针对应用程序执行的selenium(webdriver)测试.这需要约1小时.我们将它们作为构建链"compile> unit test> integration test> gui tests"的一部分执行.gui测试占用了大量时间,我们想知道如何更好地构建它们.目前他们是"快乐案例和不快乐"案件测试.它们非常稳定,即它们不会因程序员错误而失败.

我们希望缩短构建时间,最重要的是gui测试.我们想基于"客户旅程"这样做,即指定(与商界人士一起)一些典型的用例并测试它们(快乐路径)而不是测试太多.....

你们如何构建你的gui测试?这里有一些我想到的想法

  • 只执行快乐路径测试
  • 做一个"客户旅程测试",即在一个人做一些快乐路径测试("点击页面")
  • 只采取业务指定的"前10名"(任务关键)
  • 前10名+"所有其余"作为夜间建设(一次)

我很感激你的想法

谢谢马塞尔

testing user-interface selenium integration-testing gui-testing

7
推荐指数
1
解决办法
1527
查看次数

有人可以建议一个测试自动化工具来自动化Java applet窗口吗?

有人可以建议一个测试自动化工具来自动化Java applet窗口吗?要求它也能识别applet窗口中的各种按钮.

java applet automation gui-testing

7
推荐指数
1
解决办法
1505
查看次数

Telerik免费测试框架与Selenium

我选择以下其中一项进行测试:Telerik Free Testing FrameworkSelenium

Web项目是一个用C#和JavaScript编写的站点.

你能告诉哪些测试人员可以选择,为什么?
突出显示上述测试工具的差异?

c# testing selenium telerik gui-testing

7
推荐指数
2
解决办法
7720
查看次数

记录用于GUI测试的鼠标单击事件.什么比像素坐标更可靠?

我一直在编写一些GUI测试框架,可以通过记录鼠标和键盘事件并重放它们来记录和重放某些GUI用户场景.

鼠标事件当前记录为(press or release, (x, y)).但是,这非常脆弱,因为如果只有目标窗口小部件移动几个像素,但结构和其他所有内容保持不变,则测试用例将停止工作.

有什么更好的方法来做到这一点?我能想到的一些事情

  • 在窗口小部件树及其父窗口小部件中记录目标窗口小部件的"树路径".即(press or release, (top level, first child, second child, destination)),"子列表"是Qt QObject子列表返回的内容.我认为这有一个缺点,即测试现在依赖于内部代码结构.

  • 每个可测试窗口小部件提供唯一名称,并在重播时使用该名称搜索窗口小部件.这似乎是一个不可忽视的开销.

任何其他想法,以及通常接受的"最佳"方法是什么?

c++ mouse macros qt gui-testing

7
推荐指数
1
解决办法
614
查看次数

如何通过 Github Actions CI 在 Linux 桌面上自动测试 Flutter 应用程序

我们希望通过 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

7
推荐指数
1
解决办法
610
查看次数

如何在 Android Jetpack Compose UI 测试中迭代元素(节点)列表?

我正在使用 Jetpack Compose 测试库实现一些仪器测试。我对 Kotlin / Android 开发还不太熟悉,但我有多年使用 Selenium 和其他测试库的经验,所以我缺少一些基本的东西,并且不知道如何实现它们。

我想做的事:

  1. 迭代元素(节点)列表。我有这个列表,所有项目都由相同的测试标签“项目”标识。我需要点击其中的每一项。

在 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)
  1. 我还想检索列表大小。

在 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

7
推荐指数
2
解决办法
3065
查看次数

Android Espresso 测试使用 ACTION_VIEW 从​​ SDK 打开的 WebView

在我们的代码中,我们使用外部 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)

android webview gui-testing android-espresso auth0

7
推荐指数
0
解决办法
182
查看次数