标签: ui-automation

确定应用程序是否被阻止/忙碌?

我正在尝试使用C#/ .NET 4.0自动化外部应用程序的GUI

自动化的应用程序(AUT)是一个VB6应用程序.

在执行操作或单击按钮时,AUT有时会花费大量时间等待DB响应.当应用程序正在等待数据库结果时,应用程序本身处于空闲状态(不会注册很多CPU使用率),但它被阻止(您无法单击或与之交互).

- 到目前为止,我已经尝试将鼠标指针(沙漏)作为指示器,但有时应用程序被阻止但光标正常.所以这不可靠.

- 我已经尝试查看TotalProcessorTime的AUT的主要过程(这可以测量应用程序是IDLE还是BUSY),但就像我说的那样,有时应用程序是IDLE,并且仍然被阻止.

所以我想在stackOverflow人群的体验中加入,看看是否有人已经知道如何处理,和/或如果你对如何实现这一点有任何想法.

谢谢

编辑:

我一直在玩,只是发现了一些东西.

当AUT被阻止时,它不响应键盘或鼠标输入.但是,如果我将WM_LBUTTONCLICK消息发送到窗口,我可以确认消息正在处理(并且UI更改).

所以我猜他们在进行数据库调用时故意阻止应用程序.

.net c# ui-automation

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

在iOS中模拟方向更改以进行测试

我想测试我的应用程序处理方向更改(纵向/横向)的能力.我目前正在使用KIF,据我所知,它无法做到这一点.有没有办法以编程方式为iOS模拟器模拟旋转事件?

我不在乎它是否是一些未记录的私有API或黑客,因为这只会在测试期间运行,并且不会成为生产版本的一部分.

testing ui-automation ios kif-framework ios-ui-automation

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

Selenium Webdriver测试期间Firefox的多个实例无法正确处理焦点.

我注意到,在网格上并行运行多个selenium firefox测试时焦点事件处理无法正常工作.我已经确认,当我的每个测试单独运行并且考虑到操作系统的重点时,测试会在100%的时间内通过.我还在Chrome网格上并行运行测试,但没有看到问题.

我在google groups上找到了以下主题,建议在xvfb的单独实例中启动每个浏览器可能是一个可行的解决方案. https://groups.google.com/forum/?fromgroups#!topic/selenium-developers/1cAmsYCp2ho%5B1-25%5D

测试的部分失败是由于项目中使用的jquery日期选择器.日期选择器在焦点事件上启动,并且由于有多个selenium测试同时执行webdriver测试执行.click()命令,但焦点不会保持足够长的时间以显示日期选择器小部件.

.focus(function(){$ input.trigger("focus");});

我的问题是,如果有人之前已经看过这个并通过一些firefox配置文件设置解决了它.我已经尝试加载以下对该问题没有影响的属性.

profile.setAlwaysLoadNoFocusLib(true);
Run Code Online (Sandbox Code Playgroud)

测试失败的方式与之前在远程驱动程序Firefox配置文件中启用并加载该属性的方式相同.

我需要一种方法确保在100%的时间内触发焦点事件或解决多个firefox浏览器竞争焦点的问题.考虑到Chrome没有显示这些问题,我想知道它是否也可能被认为是Firefox中的一个错误.

谢谢!

firefox selenium webdriver ui-automation selenium-webdriver

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

如何用Android uiautomator填写密码EditText?

uiautomator可以选择密码EditText吗?通过他们的android:hint属性查找其他EditText视图没有问题,但是uiautomatorviewer将所有密码字段显示为NAF.我尝试设置密码字段内容描述,但也不起作用.

如果不可能,如何设置测试人员手动输入密码的超时?

android ui-automation android-testing android-uiautomator

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

如何用标记标记单个参数化测试?

我一直在尝试使用 @pytest.mark.parametrize 参数化我的测试,并且我有一个营销人员 @pytest.mark.test("1234"),我使用测试标记中的值将结果发布到 JIRA。请注意为每个 test_data 的标记指定的值都会发生变化。本质上,代码如下所示。

@pytest.mark.foo
@pytest.mark.parametrize(("n", "expected"),[
    (1, 2),
    (2, 3)])
def test_increment(n, expected):
     assert n + 1 == expected
Run Code Online (Sandbox Code Playgroud)

我想做类似的事情

@pytest.mark.foo
@pytest.mark.parametrize(("n", "expected"), [
    (1, 2,@pytest.mark.test("T1")),
    (2, 3,@pytest.mark.test("T2"))
])
Run Code Online (Sandbox Code Playgroud)

考虑到标记的值预计会随着每次测试而变化,如何在使用参数化测试时添加标记?

python ui-automation pytest pytest-django

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

尝试使用uiautomatorviewer拍摄快照时出现'adb not installed'错误

我使用uiautomatorviewer来做UI自动化.但是当我尝试拍摄快照以列出UI时,它显示adb未安装.

android adb ui-automation android-emulator

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

通过真实设备上的命令行进行UIAutomation

我知道从Xcode 4.2它开始可以UIAutomation通过命令行运行脚本.我试过这个,在模拟器中对我来说非常好.我想知道如何在实际设备中运行.我搜索并获得在设备上运行的命令,

instruments -w <device_id> -t /Developer/Platforms/iPhoneOS.platform/Developer/Library/Instruments/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate

application -e UIASCRIPT

script -e UIARESULTSPATH <results path>

我应该在申请中给出什么,是通往ipa的路径还是其他什么?

提前谢谢

command-line instruments ui-automation ios ios-ui-automation

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

如果"辅助功能标识符"用于UI自动化测试,为什么它包含在可本地化的资源中?

似乎Accessibility Identifier已添加该属性以允许UI自动化测试具有更稳定的ID.建议使用而不是Accessibility Label屏幕阅读器和VoiceOver使用的标签.

然而,这是有道理的:

  1. 在Xcode中Accessibility Identifier使用Export for localization功能时,为什么包含为可翻译的字符串资源?这使得多语言测试更加困难,因为它鼓励每种语言使用不同的ID.
  2. 为什么Accessibility Identifier与可访问性相关联?为什么不称它为UI自动化ID?Accessibility Identifier实际上是否实际呈现给屏幕阅读器,VoiceOver,其他?

xcode accessibility localization ui-automation ios

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

JavaScript是否与严格的页面对象模式兼容?

我使用Page Object Pattern with Java(https://code.google.com/p/selenium/wiki/PageObjects)构建了各种Test Automation框架.

我发现的两大好处是:

1)当你有一个页面实例时,你可以看到可用的方法(例如,输入主页.将显示你可以从主页调用的所有动作/方法)

2)因为导航方法(例如goToHomepage())返回后续页面的实例(例如主页),所以您只需编写代码并查看它所在的位置即可浏览您的测试.

例如

WelcomePage welcomePage = loginPage.loginWithValidUser(validUser);
PaymentsPage paymentsPage = welcomePage.goToPaymentsPage();
Run Code Online (Sandbox Code Playgroud)

这些好处与Java完美配合,因为IDE已知对象类型(或本例中的页面).

但是,使用JavaScript(动态类型语言),对象类型在任何时候都不固定,并且通常与IDE不明确.因此,我无法看到如何在使用JavaScript构建的自动化套件中实现这些优势(例如,使用Cucumber).

任何人都可以告诉我如何使用页面对象模式的JavaScript来获得这些好处吗?

javascript java testing ui-automation pageobjects

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

记录TestFX的UI元素

有一个现有的基于JavaFX的应用程序,我应该为其编写自动化测试.我刚开始使用TestFX(版本4.0.13-alpha)并寻找建议,如何记录和识别应用程序的UI对象.我尝试使用代码来初始化按钮,但无法单击它.

Button button = new Button("click me!");
Run Code Online (Sandbox Code Playgroud)

我找到了这些 GUI检查工具,但不确定哪一个可以与TestFX一起使用.

desktop-application javafx ui-automation testfx

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