问题标签 [ui-testing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
258 浏览

testing - 动态更改 UI 测试的连接字符串

我正在使用 WebAii 库进行 UI 测试 - 我想测试我的组件是否显示与数据库中的记录相同的记录,因此我需要切换应用程序的连接字符串以指向测试数据库,以便仅在运行测试时。最好的方法是什么?如何在运行应用程序之前动态更改连接字符串?谢谢

0 投票
3 回答
358 浏览

iphone - iPhone应用程序的UI自动化

我需要自动化 iPhone 应用程序的 UI 测试,即如果在我的 iPhone 应用程序中有两个与用户名和密码相对应的文本字段,则测试应该自动填写值并按下提交按钮,但由于我是iPhone 编程领域 我不知道自动化此测试所需的流程和程序。

任何人都可以建议一个如何缓解这个问题的完整程序,或者指向一些链接,我可以在其中找到有关该问题的一些相关信息?
我只需要自动化上述场景,即在两个文本字段中填写详细信息并自动按下提交按钮。

0 投票
1 回答
4604 浏览

python - Selenium webdriver 在单击之前突出显示元素

我正在研究一组用 Python 编写的 selenium UI 测试。在以前的项目中,我使用的是 WatiN 和 C#。

WatiN 框架有一个你可以启用的功能,它可以“突出显示”你点击、选择或输入的元素。执行操作时,元素周围会出现黄色边框。我发现这在对损坏的测试进行故障排除时非常有用,如果单击了错误的元素,我经常可以从测试运行中看到。

我想知道 Selenium webdriver 是否有类似的功能可以打开。基本上我想要某种视觉指示正在与什么元素进行交互。

谢谢!

0 投票
1 回答
175 浏览

selenium - 使用 RavenDB 进行 UI 测试

一点背景:

我有一个 Web 应用程序,它从存储在 RavenDB 中的一组非规范化文档中读取。这些文档由事件处理程序创建和修改。在生产中,应用程序使用标准文档存储,该存储通过 c# API 连接到远程数据库。

当我对应用程序进行单元测试时,我将处理程序配置为使用内存中的嵌入式数据库、创建一些事件并查询预期的文档。这绝对没问题。

编写 UI 测试:

我想让我们的测试人员使用 SpecFlow 和 Selenium 编写自动化 UI 测试。在为其他应用程序(使用 SQL)实现此功能时,功能文件的执行将通过以下方式准备测试环境:

  • 在本地 SQLExpress 实例中创建一个新数据库(按照惯例,每个人在他们的机器上都有相同的实例名称)
  • 重新配置处理程序以使用新数据库并引发事件以创建所需状态
  • 将正在测试的 Web 应用程序复制到新的临时位置并重新配置以从新数据库中读取
  • 在 IIS Express 中启动 Web 应用程序(再次每个人都遵循此约定)
  • 如果需要,运行功能、消隐和重建每个功能之间的状态
  • 停止 IIS,删除正在测试的应用程序,并删除数据库

现在我想使用 Raven 遵循相同的方法,并且正在考虑两种方法。

首先是遵循与上述完全相同的模型。我在这里遇到的问题是如何/在哪里存储数据库,以及之后如何整理它们。服务器可执行文件可以在安装和拆卸期间以编程方式启动和停止,之后可以通过删除文件来删除数据库。我还没有尝试过,但理论上它应该可以工作。

第二种是遵循类似的方法,但用标准文档存储替换嵌入式存储(不在内存中运行)。为此,我需要修改 Web 应用程序的 IoC(如果在 xml 中使用配置,则可能)以将 IDocumentStore 解析为 EmbeddedDocumentStore。然后我像以前一样使用处理程序建立状态,然后在启动 IIS 之前处理处理程序的文档存储(似乎不可能同时运行两个使用相同嵌入式数据库的应用程序,除非我错过了某物)。

第二种方法最初似乎是更好的选择,但我遇到了一些奇怪的行为,即处理程序创建的文档与 Web 应用程序查询时返回的结果不一致。具体来说,一些子集合由处理程序填充,但在从 Web 应用程序执行的查询返回时为空。老实说,我并没有太惊讶,因为我怀疑这是打算使用嵌入式数据库的场景。此外,当我从一个应用程序跳转到另一个应用程序时,通过管理工作室查看嵌入式数据库非常困难。

所以无论如何,在冗长的描述之后,我很好奇其他人对这些方法的看法,以及是否有更好的选择我错过了。此外,我确信有许多我不知道的隐藏的 RavenDB 宝石,因此任何指向该方向的指针也会有所帮助。

0 投票
0 回答
1243 浏览

android - 由于 java.lang.NoClassDefFoundError 导致自动化 Android-UI-Tests 失败

为了测试我的 Android 应用程序,我正在使用 UI 测试工具Robotium。由于传递的 lib-project 依赖项和 android 构建工具无法处理它们,我已经在构建项目和运行测试方面遇到了许多问题。

请在我的案例中进行介绍,阅读我之前对问题提出的问题以及对解决方案的相应讨论

现在,经过一段时间后,我已经包含了另一个库项目ViewPagerIndicator,我的库项目B依赖于它。因此,我再次被迫应用上面链接中提供的以前的解决方案,以防止 lib-projects 出现该错误,并且我在测试项目的 ant.properties 中添加了以下代码:

正如我所料,构建工作。但是实际上依赖于新库的活动测试用例没有通过,我遇到了java.IllegalAccessError:

然后我意识到,ViewPagerIndicator 依赖于 Android-Support-v4 包,所以我把它的 jar 放在 test-projects libs 目录中,然后再试一次。这次我遇到了活动类的 java.lang.NoClassDefFoundError :

这里可能是什么问题?如果我根本不应用 ant.properties 文件中的修复程序,我会得到与另一个问题相同的错误...

提前感谢您的帮助!

0 投票
1 回答
507 浏览

android - 如何在 Monkeyrunner 中使用 Android viewClient 找出视图的真实坐标?

在 Monkeyrunner 中使用 dtmilano Android vieClient 在 android UI 中查找文本的 (x,y) 坐标。

我只使用以下代码获得相对坐标:-

(x,y)返回总是不正确的。如何找出真正的坐标。请帮忙。

0 投票
0 回答
1919 浏览

selenium - Selenium webdriver vs Sahi

对于这个问题,我参考了一些关于堆栈溢出的博客和早期帖子。但这些比较与早期版本的 selenium(1.0) 有关。因为当前版本的 selenium(webdriver) 非常丰富并且还支持跨浏览器和其他功能(甚至 Watir-WebDriver 使用 selenium).. 任何人都可以提供一些关于 sahi 与当前版本的 selenium webdriver 的基本比较分析.. 任何建议将不胜感激.. 谢谢..

0 投票
6 回答
96911 浏览

fixtures - 编程中的固定装置是什么?

我多次听说过这个术语(在编程的上下文中),但找不到任何解释它的含义。有什么好的文章或解释吗?

0 投票
1 回答
262 浏览

button - 使用 JWebUnit 测试按钮状态

是否可以使用 JWebUnit 在页面中测试按钮是否启用或禁用(即使在几个表单操作后使用 java 脚本启用/禁用它)。

0 投票
1 回答
858 浏览

testing - MonkeyTalk 布尔逻辑

我正在尝试用 JavaScript 编写脚本来使用 MonkeyTalk 测试 iPhone 应用程序的 UI。我如何使用逻辑和条件?现在我有一个块:

问题是验证不返回布尔值,如果按钮不存在,它只会在测试中引发错误。有没有办法捕捉错误并相应地运行脚本?