问题标签 [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 投票
1 回答
4041 浏览

.net - Coded UI 的“始终搜索”配置如何与父/子对象一起使用?

W作为一个例子,我将使用一个非常简单的 UI:一个带有单个按钮 ( )的窗口(我将调用它B)。在 Coded UI 的 UIMap 中,BW. 即在地图的XML规范中,B出现在W's"descendants"中。

现在说我们有两个W同时打开的实例。有一个可以区分的搜索属性W1W2例如,它们具有不同的属性),但是除了它们的 parent 之外,Name没有其他方法可以区分。B1B2W

我使用以下过程执行测试:

  1. 打开窗口的两个实例,W1然后W2
  2. NameUIMap 的属性设置W UITestControl为匹配W1的名称。
  3. 在UIMapMouse.Click()B UITestControl.
  4. NameUIMap 的属性设置W UITestControl为匹配W2的名称。
  5. 在UIMapMouse.Click()B UITestControl.

我的理解是,如果既没有WB没有“始终搜索”配置,那么这将导致B1在第 3 阶段和第 5 阶段都被点击。所以我的问题是在以下情况下会发生什么:

  • B设置了“始终搜索”,但W没有。
  • W设置了“始终搜索”,但B没有。
0 投票
2 回答
2663 浏览

testing - Visual Studio 编码 UI 测试的替代方法

我正在寻找编码 UI 测试的一些替代方案。不幸的是,我只运行 Visual Studio 2013 专业版

我已经看过 Selenium for Firefox,但这似乎不适用于我的 Firefox 版本

0 投票
1 回答
69 浏览

eclipse-rcp - Recording External Application to Eclipse from Q7 capture and record tool

I working with an eclipse based mobile app development IDE which triggers Android emulators to run the apps. I like to automate the testing procedure of this IDE using Xored Q7 automation tool, but I don't find any way to record the test after triggering the emulator. Could you please tell me whether Q7 have such feature? I mean, I can verify the test success if and only if the app works fine in emulator or the actual device. So, It needs to be recorded the behavior of app in the emulator or mobile device.

0 投票
1 回答
70 浏览

asp.net-mvc - UI 使用 WatiN 测试 MVC 并将参数注入控制器

首先,我可能会用这个来找错树,所以如果我错了,请纠正我。

也就是说,我正在尝试编写使用 WatIn 的 sme UI 单元测试。我目前只处理 UI 的一个子集。

我有一个名为 Product 的控制器及其相关视图。Controller 通过构造函数接收 ProductRepository。

我会撒谎做的是测试不同的产品类别在不同的测试中是否正确呈现,所以我需要将某种存根或模拟存储库传递到我的代码中。

我的测试是按照以下方式设置的;

那么如何将存储库传递给将提供适当产品的控制器?一旦我调用了 using 语句,我的系统已经启动了浏览器,所以为时已晚。但是在浏览器启动之前,控制器不存在,所以我无法注入适当的存储库。

还是我从根本上弄错了,我只能对我的数据库使用WatiN,我需要对其进行编程以从数据库中选择每种产品的成员,然后以这种方式进行测试?

0 投票
0 回答
144 浏览

angularjs - UI 测试的数据模拟

所以我们有一个 Web 应用程序和一堆 E2E 测试。

一切都很好,除了将数据保持在有效状态是一个主要的痛苦。我们正在尝试以一种让数据保持有效的方式编写测试,但这是一种开销,并且每当测试失败时,都会影响许多其他测试。

所以

我们一直在尝试在每次测试运行后进行数据库恢复(我们运行本地数据库进行测试)——这很痛苦

我们一直在考虑将数据库放在虚拟机上并制作快照 - 许可成本很高

我正在试验拦截器(它是一个 AngularJS 应用程序),它会拦截对服务的某些调用并返回一段预定义的数据——很难让它正常工作并产生过多的开销

它一定是一个非常常见的痛点,但我似乎找不到太多关于解决这个问题的方法。那么你如何解决这个问题呢?

0 投票
2 回答
386 浏览

validation - WebDriver:只有在没有输入无效值的情况下,我才能测试按钮是否可点击?

我正在工作中进行一些 UI 自动化测试,但我不太确定如何执行此操作

我有一个表单,要求用户输入姓名和出生日期,然后他们才能单击按钮进入下一页。如果他们输入任何带有无效字符的内容(名称为“1111”或未来的 DOB),则输入框会以红色突出显示并出现错误消息。如何测试“继续”按钮是否只有在输入有效输入后才可点击?

0 投票
0 回答
159 浏览

javascript - 重复使用 Dalek.js 编写的测试

我开发了一些 UI 测试(使用 Phantom.js 配置运行)

测试本身非常简单,例如(参见下面的一些示例代码):

  • 浏览页面 - 确认预期的标题是正确的
  • 单击按钮/项目以从列表中选择项目 - 确认已选择准确的项目。

    /li>

我的问题是这样的,我想在一个循环中多次运行同一组测试。我已经用谷歌搜索了 Dalek.JS 帮助和示例,但我找不到任何关于如何做到这一点的示例或文章。

任何帮助将不胜感激

0 投票
1 回答
1804 浏览

android - Android UI 测试框架

我正在寻找目前主流的Android UI测试框架和Android Studio。

Android Developer 网站上的文档适用于 Eclipse,但我使用的是 Android Studio。我看过 Robolectric、之前所说的默认框架、WebDriver 等,但看起来都已弃用或过于复杂。

我有一个几乎完整的项目,所以我不能从一些基于 Github 的项目开始。我试图合并Deckard, wiliamsouza 的蓝牙项目(请参阅参考资料)等等,但没有成功。

Android 目前首选的 UI 测试框架是什么?你能给我看一个使用 Android Studio 的分步教程吗?我已经找了好几天了。

谢谢!

0 投票
0 回答
4128 浏览

android - 使用 Expresso 进行 Android UI 测试:已恢复阶段中没有活动

我目前正在努力在实现 LoaderManager.LoaderCallbacks 的 Android ListActivity 上实现功能测试。这个 Activity 有一个简单的布局,它有一个 EditText 供用户输入一些字符串,还有一个 ListView 是通过 Custom CursorAdapter 填充的,它从 Custom Content Provider 获取数据,并使用 LoadManager 自动更新列表视图内容它改变。

此 ListActivity 的预期功能仅供用户在 EditText 上输入一些内容并从 ListView 中选择一个或多个项目。

为了实现这个功能测试,我使用了 Expresso,下面是我的实现:

如果我运行它,我得到的错误堆栈跟踪如下:

此测试设置与我在我的应用程序的其他功能测试中使用的相同,运行良好,这让我认为问题可能出在测试初始化​​上,因为其他测试的唯一区别是该活动正在使用一个 CursorAdapter 和 LoadManager。

如果有人需要更多语境化,请询问。谢谢 :)

0 投票
1 回答
1496 浏览

arrays - 使用 selenium/webdriverjs 遍历表

我想使用 Node 和 webdriverJS 使用 Selenium 遍历表:

我希望每一行都查看名称和行单元格。

我有的:

这适用于前几行,但对于许多行,它会在某个点失败。

我的理论:findElementfor循环中的调用被传递给管理器,然后for循环结束。然后垃圾收集器删除 rows 数组。一旦管理器执行findElement调用,数组及其元素就不再存在并失败。我得到的错误是:

StaleElementReferenceException : The Element is not Attached to the DOM

它确实适用于第一行,因为数组在执行的早期仍然存在。

我的问题:

  1. 我究竟做错了什么?

  2. 我的理论正确吗?

  3. 如何将row[i]引用绑定到 findElement 调用以使它们比原始数组持续更长的时间?

- - 编辑 - -

当我删除一个内部 findElement 调用并且每行只查找一个单元格时,我能够覆盖更多行。这让我认为,通过这种实施,时间发挥了作用。这不应该是这样,所以我可能做错了什么。

  1. forEachSelenium 中是否有类似函数的功能?