Selenium+Java - 结合sikuliX操作Flash网页
生活随笔
收集整理的這篇文章主要介紹了
Selenium+Java - 结合sikuliX操作Flash网页
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
Sikuli-IDE用起來方便,但是用到實際項目中還是有局限性的,Sikuli提供了Sikuli-Script的jar包,在Sikuli-X的安裝目錄下,這樣就可以在Idea中使用JAVA編寫代碼了,并用Sikuli-Script和selenium完美結合使用。
模擬場景
安裝配置
- 首先下載sikuliX的jar包:https://launchpad.net/sikuli/sikulix/1.1.0
- 導入jar包:sikulixsetup-1.1.0.jar
- 雙擊java -jar sikulixsetup-1.1.0.jar,則會出現如下圖,選擇相應選項后,啟動會下載sikulixapi.jar。不然會報錯:libs to export not found on above classpath: /sikulixlibs/mac/libs64
?
- 啟動成功后會出現如下提示
?
- 截取起點位置和終點位置的圖片
?
sikuli操作Flash網頁
具體示例代碼如下;
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver;import java.util.concurrent.TimeUnit;import org.sikuli.script.FindFailed; import org.sikuli.script.Pattern; import org.sikuli.script.Screen; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test;/*** @rongrong* Selenium結合sikuliX操作Flash網頁案例*/ public class TestSikuli {WebDriver driver;@BeforeClasspublic void beforeClass() {System.setProperty("webdriver.chrome.driver", "driver/chromedriver.exe");driver = new ChromeDriver();}@Testpublic void testBaiDuMap() {driver.manage().window().maximize();driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);driver.get("http://map.baidu.com/");//打開城市下拉框driver.findElement(By.cssSelector(".ui3-city-change-inner")).click();//選擇北京driver.findElement(By.cssSelector("[citycode='131']")).click();;// 打開工具下拉框driver.findElement(By.cssSelector("[map-on-click='box'] em")).click();// 選擇測距driver.findElement(By.cssSelector("[map-on-click='measure'] i")).click();Screen screen = new Screen();String start = "D:\\picture\\奧林匹克森林公園.png";String end = "D:\\picture\\北京南苑機場.png";Pattern from = new Pattern(start);Pattern to = new Pattern(end);try {if (screen.find(from) != null) {screen.click(from);}if (screen.find(to) != null) {screen.click(to);}screen.doubleClick();} catch (FindFailed e) {e.printStackTrace();}} }
?
運行效果如下:
?
轉載于:https://www.cnblogs.com/longronglang/p/11335574.html
總結
以上是生活随笔為你收集整理的Selenium+Java - 结合sikuliX操作Flash网页的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity webGl 鼠标手指触屏控制
- 下一篇: 固态移动硬盘安装linux,如何在移动硬