2017-06-12 92 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#以來,對您而言應該沒有問題;)