实例二, 配合selenium webdriver 测试高德地图
1.打开地图
2.选择北京
3.打开地图的工具,选择测距
3.选择天安门
4.选择到这里去
5.选择输入并搜索,火车站
precondition:
截图呀:
Debug.setDebugLevel(3); Screen s = new Screen(); String URL = "http://www.amap.com/"; WebDriver driver = DriverFactory.getFirefoxDriver(); Actions actions = new Actions(driver); driver.get(URL); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); WebElement chooseCityElement = driver.findElement(By .xpath("//div/span[@class='icon_expand cursor ml5']")); chooseCityElement.click(); WebElement city_iframe = driver.findElement(By .xpath("//iframe[@id='city_iframe']")); driver.switchTo().frame(city_iframe); //选择北京 WebElement BJ = driver.findElement(By.xpath("//div/a[text()='北京']")); BJ.click(); //等待页面加载 driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); driver.switchTo().defaultContent(); //打开工具 选择测距 WebElement tools=driver.findElement(By.xpath("//div/span[text()='工具']")); actions.moveToElement(tools).click().perform(); driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); Pattern cj=new Pattern("D:\\MyBlog\\CJ.png"); if(s.find(cj) != null) { s.click(cj); } Pattern bjbz=new Pattern("D:\\MyBlog\\BJBZ.png"); s.click(bjbz); Pattern bjnz=new Pattern("D:\\MyBlog\\BJNZ.png"); s.click(bjnz); s.rightClick(); WebElement inputBoxElement = driver.findElement(By .xpath("//input[@id='keywordTxt']")); WebElement searchButton = driver.findElement(By .xpath("//input[starts-with(@class,'magnifier_button')]")); inputBoxElement.clear(); inputBoxElement.sendKeys("天安门"); searchButton.submit(); driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); WebElement tiAnMenElement = driver.findElement(By .xpath("//div[@title='天安门']")); tiAnMenElement.click(); driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); WebElement comeToHereElement = driver.findElement(By .xpath("//div[@class='route']//li[text()='到这里去']")); comeToHereElement.click(); WebElement setStartLocationElement = driver.findElement(By .xpath("//div/input[@class='route-input srh-ipt']")); setStartLocationElement.sendKeys("火车站"); WebElement routeByBus = driver.findElement(By .xpath("//div[@id='rout-by-bus']")); routeByBus.click(); driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); WebElement startFrom = driver .findElement(By .xpath("//div[@class='start_end_item_title' and contains(text(),'北京站')]")); actions.moveToElement(startFrom) .click(driver.findElement(By .xpath("//a[contains(text(),'设为起点') and @data-name='北京站']"))) .perform(); driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); driver.findElement(By.xpath("//div[@class='amap-zoom-plus']")).click(); |
到此为止,selenium配合sikuli的探索结束了,更多更好玩的玩法,会进一步更新