标签: ui-automation

使用UI自动化的Google Chrome访问树缓存问题

当用户在浏览器中向下滚动时,Google Chrome不会刷新辅助功能元素(AutomationElement).

重现它:

  1. 使用以下方式启用渲染器辅助功能: "chrome --force-render-accessibility"或通过设置Global Accessibility at "chrome://accessibility".
  2. 转到http://en.wikipedia.org/wiki/Google
  3. 在UI自动化模式下打开inspect.exe(从Windows Kits),查找"链接到相关文章"元素.
  4. 回到Chrome,向下滚动,直到底部显示"链接到相关文章"
  5. 屏幕上标有"相关文章的链接"元素

我找到了一些可以强制Chrome刷新它的手动解决方案:

  1. 将缩放设置为90%然后将其设置为100%(非常非常难看)
  2. 关闭可访问性,然后打开 chrome://accessibility/

我正在寻找的是能够以编程方式执行这些操作之一,或任何可以使Chrome刷新其缓存树的操作.


我尝试过的:

  • 调整窗口大小 PInvoke/MoveWindow
  • 重绘窗口 PInvoke/Redrawwindow
  • 构建镀铬扩展并按需强制缩放至100%:( chrome.tabs.setZoom(null, 0);工作但闪烁并减慢窗口速度)

这些都没有正常工作.

编辑:在Windows 7下使用Google Chrome 40.XX,41.XX,42.XX,43.XX,44.XX,45.XX,46.XX,47.XX.Dev,48.XX.Dev进行测试.

c# pinvoke accessibility google-chrome ui-automation

155
推荐指数
1
解决办法
4381
查看次数

前端测试:测试的内容和方法,以及使用的工具?

我已经为我的Ruby代码编写了一段时间的测试,但作为一个前端开发人员,我显然很有兴趣将它带入我为前端代码编写的代码中.我一直在玩的有很多不同的选择:

人们用于测试的是什么?还有人们测试的是什么?只是JavaScript?链接?形式?硬编码的内容?

任何想法将不胜感激.

testing frontend ui-automation jasmine casperjs

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

在Python中处理多个窗口

我正在使用Python 从事selenium自动化项目.

我正面临一个问题,即处理多个浏览器窗口.

情景如下.当我单击主页上的链接时,将打开一个新窗口.在新打开的窗口中,我无法执行任何操作,因为焦点仍然在主页Web驱动程序上.

谁能告诉我如何将焦点从背景窗口更改为新打开的窗口?

可能的解决方案是driver.switch_to.window(),但它需要窗口的名称.如何查找窗口的名称?如果这是一种错误的方法,那么有人可以提供一些代码示例来执行此操作吗?

python selenium webdriver onclick ui-automation

48
推荐指数
5
解决办法
9万
查看次数

在Espresso android中获取当前活动

如果测试跨越多个活动,是否有办法获得当前活动?

getActivtiy()方法只提供一个用于启动测试的活动.

我尝试过类似下面的内容,

public Activity getCurrentActivity() {
    Activity activity = null;
    ActivityManager am = (ActivityManager) this.getActivity().getSystemService(Context.ACTIVITY_SERVICE);
    List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
    try {
        Class<?> myClass = taskInfo.get(0).topActivity.getClass();
        activity = (Activity) myClass.newInstance();
    }
    catch (Exception e) {

    }
    return activity;
}
Run Code Online (Sandbox Code Playgroud)

但我得到了空对象.

android ui-automation android-espresso

41
推荐指数
6
解决办法
3万
查看次数

40
推荐指数
2
解决办法
4万
查看次数

.NET Windows自动化库有什么好处(如果有的话)?

我正在寻找一个可以在本机.NET代码中使用的库,就像任何.NET程序集一样.该库的目的必须是自动化Windows(按下按钮,选择一个窗口,发送密钥,记录和回放,这类事情).

因此:该库应该在.NET中本机使用,但自动化本身必须能够定位可以接收用户输入的任何本机或.NET Windows应用程序.


建议到目前为止:

如果没有其他可用的东西,我可能会选择微软的UI自动化并升级任何需要它的项目,如果可能的话,仍然在.NET 2.0到.NET 3.5中.但我希望有一个更广泛适用的自动化框架(不需要支持2.0之前的.NET).

.net c# ui-automation

37
推荐指数
3
解决办法
2万
查看次数

Selenium Web测试自动化框架最佳实践

我想知道您对开发Web测试自动化框架的最佳实践的评论

  1. 我基本上都看过几个博客,终于说服在书中列出的大卫·伯恩斯方法- "硒1.0测试工具:初学者指南"中的第7章.

  2. 将特定页面的所有方法,验证器保存在单独的类文件中使其变得精致,可维护.

  3. 我想知道使用设计模式设计自动化框架的优势.我不完全相信哪种方法最好.请添加您的建议.可能每种方法我们都可以列出它的优缺点

  4. 如果我们将所有步骤存储在数据库表中,获取并执行这些步骤会不会很好?在这种情况下,如果任何测试失败,这将在表中更新,我们可以选择性地仅运行失败的测试.

  5. 此外,可以通过有选择地查询表来完成报告,并且可以通过作业从这些表中清除数据.保持测试输出文件的结果/解析结果也没问题.

  6. 如果此问题已在相关帖子中得到解答,请发布链接.在发布此问题之前我查了几篇帖子.

  7. 在网站中,与网站的用户交互是事件驱动的,用户可以与网站交互的方式可以是多种组合A-> B-> C或A-> C-> B. 进行所有可能的组合可提供最大范 基于模型的测试自动化涵盖所有可能的状

  8. 模拟所有可能状态的功能回归的自动化套件将模拟所有用户场景

  9. 请分享您对上述问题的最佳做法/建议.对于以上所有实现Dataproviders,以XML格式传递数据,我们可以利用测试数据管理.

  10. 我们需要考虑采用何种设计方法来开发基于模型的测试自动化套件.

  11. 有没有人尝试使用框架http://www.w3qa.eu/framework.html.任何评论/反馈请提供

testing testng selenium qa ui-automation

33
推荐指数
3
解决办法
5万
查看次数

使用ADB更改Android设备方向

我在真实设备上使用Android 4.4,我想通过设置设备方向adb.我不希望它与uiautomator完成,因为它不会在uiautomator代码终止后持续.

我怎样才能做到这一点?

automation android adb ui-automation

28
推荐指数
4
解决办法
4万
查看次数

AutomationElement使用Inspect.exe显示,但在使用UIAutomationCore.dll或System.Windows.Automation时显示不亮.

TL; DR:我做错了什么导致工作区窗格显示在Inspect Objects中但未显示在我的自定义代码中?


我正在尝试为第三方程序编写一些UI自动化.我正在使用Windows SDK附带的Inspect.exe,我已经尝试过System.Windows.Automation和直接COM调用(使用UIA Verify的包装器库).

Process[] processes = Process.GetProcessesByName("Redacted Client");
if (processes.Length == 0) throw new Exception("Could not find \"Redacted Client\" process");

PropertyCondition parentFileCond = new PropertyCondition(AutomationElement.ProcessIdProperty, processes[0].Id);
PropertyCondition workspaceCond = new PropertyCondition(AutomationElement.NameProperty, "Workspace", PropertyConditionFlags.IgnoreCase);
PropertyCondition documentCond = new PropertyCondition(AutomationElement.NameProperty, "Untitled3", PropertyConditionFlags.IgnoreCase);

var parentElement = AutomationElement.RootElement.FindFirst(TreeScope.Children, parentFileCond);
var workspaceElement = parentElement.FindFirst(TreeScope.Children, workspaceCond); //Also does not work with TreeScope.Descendants
var documentElement = workspaceElement.FindFirst(TreeScope.Children, documentCond);
Run Code Online (Sandbox Code Playgroud)

当我尝试上面的代码时,parentElement确实有对主程序窗口的正确引用,但是workspaceElement为null. …

.net c# automation ui-automation

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

什么比Sikuli更好的工具用于Windows 7(或最好是多平台)的屏幕自动化

我正在使用Sikuli进行屏幕自动化.即根据屏幕上的外观点击GUI元素.这样可以,但Sikuli对我来说有一个主要的缺点:

  • 每个脚本启动缓慢(因为每次都加载整个JVM).

关于Sikuli的更多信息自去年以来没有太多的发展,所以我正在寻找替代自动化工具.我需要的大票是creen意识:该工具必须"查看"屏幕上的某些UI元素,而不是将鼠标移动到那里并发出点击.

有什么建议可以比Sikuli更快,更好地维护工具?

screen ui-automation windows-7 sikuli

27
推荐指数
2
解决办法
5万
查看次数