2017-06-12 54 views
0

我想在flash网页上做测试自动化。我所有的源代码都是一些Object标签,就这些。我无法在任何地方使用xpathclass selector导航。用c实现闪存自动化#

所以对我有代码:

ChromeOptions options = new ChromeOptions(); 
IWebDriver driver = new ChromeDriver(options); 
driver.Manage().Window.Maximize(); 

driver.Url = url; 

var body = driver.FindElement(By.XPath(".//body")); 

Actions action = new Actions(driver); 
action.MoveToElement(body, MouseXCoordinate, MouseYCoordinate).Click().Build().Perform(); 

我无法找到任何更好的解决方案。我不能使用比这更好的东西吗?使用坐标来做所有事情都有点不舒服。

回答

0

您将无法使用Selenium Webdriver选择Flash对象中的任何元素。类似的情况下,如果你有JavaScript的画布,你需要点击画布内的东西。您只需将鼠标指针指向某个坐标,然后执行单击即可。

如果您想查询Flash中的对象,请了解Ranorex。这不是便宜的图书馆。

0

自从硒无法自动化闪光的另一种选择是一个框架/库称为http://www.sikuli.org/(我知道它不是C#但它的自由...至少上次我检查)。

我已经使用sikuli几年了,但在高层次上,它使用您的用户界面的图片/图像来执行匹配。所以你需要大量的屏幕截图,使用他们的脚本语言(我相信它是Python实际)并以这种方式创建自动化脚本。

0

我相信Flash automation的最佳免费选项是Kantu Web Browser Automation

它可以在屏幕截图和图像识别中使用,就像Sikuli这是在另一个答案中提到的。但是Kantu是Google Chromium的封装。因此,与设计的桌面自动化工具Sikuli不同的是,它不接管桌面。关东可以运行的背景,甚至无头。

其主要缺点是它只能在Windows上运行,但自从您提到C#以来,对您而言应该没有问题;)