Selenium+Java - 结合sikuliX操作Flash网页
生活随笔
收集整理的這篇文章主要介紹了
Selenium+Java - 结合sikuliX操作Flash网页
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言
Sikuli-IDE用起來方便,但是用到實(shí)際項(xiàng)目中還是有局限性的,Sikuli提供了Sikuli-Script的jar包,在Sikuli-X的安裝目錄下,這樣就可以在Idea中使用JAVA編寫代碼了,并用Sikuli-Script和selenium完美結(jié)合使用。
模擬場(chǎng)景
安裝配置
- 首先下載sikuliX的jar包:https://launchpad.net/sikuli/sikulix/1.1.0
- 導(dǎo)入jar包:sikulixsetup-1.1.0.jar
- 雙擊java -jar sikulixsetup-1.1.0.jar,則會(huì)出現(xiàn)如下圖,選擇相應(yīng)選項(xiàng)后,啟動(dòng)會(huì)下載sikulixapi.jar。不然會(huì)報(bào)錯(cuò):libs to export not found on above classpath: /sikulixlibs/mac/libs64
?
- 啟動(dòng)成功后會(huì)出現(xiàn)如下提示
?
- 截取起點(diǎn)位置和終點(diǎn)位置的圖片
?
sikuli操作Flash網(wǎng)頁
具體示例代碼如下;
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結(jié)合sikuliX操作Flash網(wǎng)頁案例*/ 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();// 選擇測(cè)距driver.findElement(By.cssSelector("[map-on-click='measure'] i")).click();Screen screen = new Screen();String start = "D:\\picture\\奧林匹克森林公園.png";String end = "D:\\picture\\北京南苑機(jī)場(chǎng).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();}} }
?
運(yùn)行效果如下:
?
轉(zhuǎn)載于:https://www.cnblogs.com/longronglang/p/11335574.html
總結(jié)
以上是生活随笔為你收集整理的Selenium+Java - 结合sikuliX操作Flash网页的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity webGl 鼠标手指触屏控制
- 下一篇: 一种很轻松的Excel关键字方式进行网页