2016-05-26 30 views
1

我不能夠得到使用TestNG的硒網絡驅動的結果和Maven 它在控制檯顯示爲如何使用阿紹特硒採取截屏整個網頁

java.lang.VerifyError: (class: junereleasemain/NewTest, method: testFirstResult signature:()V) Incompatible argument to function at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.privateGetPublicMethods(Unknown Source) at java.lang.Class.getMethods(Unknown Source) at org.testng.internal.TestNGClassFinder.(TestNGClassFinder.java:63) at org.testng.TestRunner.initMethods(TestRunner.java:424) at org.testng.TestRunner.init(TestRunner.java:247) at org.testng.TestRunner.init(TestRunner.java:217) at org.testng.TestRunner.(TestRunner.java:169) at org.testng.remote.support.RemoteTestNG6_9_10$1.newTestRunner(RemoteTestNG6_9_10.java:28) at org.testng.remote.support.RemoteTestNG6_9_10$DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG6_9_10.java:61) at org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:594) at org.testng.SuiteRunner.init(SuiteRunner.java:168) at org.testng.SuiteRunner.(SuiteRunner.java:117) at org.testng.TestNG.createSuiteRunner(TestNG.java:1300) at org.testng.TestNG.createSuiteRunners(TestNG.java:1287) at org.testng.TestNG.runSuitesLocally(TestNG.java:1141) at org.testng.TestNG.runSuites(TestNG.java:1075) at org.testng.TestNG.run(TestNG.java:1047) at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:126) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:137) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:58)

腳本

package junereleasemain; 
import static org.junit.Assert.*; 
import java.io.File; 
import java.io.IOException; 
import javax.imageio.ImageIO; 
import org.junit.After; 
import org.junit.Before; 
import org.junit.Test; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.testng.annotations.AfterTest; 
import org.testng.annotations.BeforeTest; 

import ru.yandex.qatools.ashot.AShot; 
import ru.yandex.qatools.ashot.Screenshot; 
import ru.yandex.qatools.ashot.screentaker.ViewportPastingStrategy; 

public class NewTest { 

WebDriver driver; 

@BeforeTest 
public void setUp() { 
driver = new FirefoxDriver(); 
driver.manage().window().maximize(); 
} 

@AfterTest 
public void tearDown() { 
driver.quit(); 
} 
@Test 
public void testFirstResult() throws InterruptedException, IOException 
{ 
driver.get("http://www.vpl.ca"); 
//take the screenshot of the entire home page and save it to a png file 
Screenshot screenshot = new AShot().shootingStrategy(new ViewportPastingStrategy(100)).takeScreenshot(driver); 
ImageIO.write(screenshot.getImage(), "PNG", new File("c:\\temp\\home.png")); 

WebElement searchField = driver.findElement(By.xpath("//input[@id='globalQuery']")); 
searchField.click(); 
searchField.sendKeys("java"); 
WebElement searchButton = driver.findElement(By.xpath("//input[@class='search_button']")); 
searchButton.click(); 

Thread.sleep(3000); 

//take the screenshot of the entire results page and save it to a png file 
screenshot = new AShot().shootingStrategy(new ViewportPastingStrategy(100)).takeScreenshot(driver); 
ImageIO.write(screenshot.getImage(), "PNG", new File("c:\\temp\\results.png")); 

WebElement searchResultLink = driver.findElement(By.xpath("(//a[@testid='bib_link'])[2]")); 
searchResultLink.click(); 
Thread.sleep(3000); 

//take the screenshot of the entire details page and save it to a png file 
screenshot = new AShot().shootingStrategy(new ViewportPastingStrategy(100)).takeScreenshot(driver); 
ImageIO.write(screenshot.getImage(), "PNG", new File("c:\\temp\\details.png")); 

WebElement bookTitleElement = driver.findElement(By.xpath("//h1[@id='item_bib_title']")); 
String bookTitleValue = bookTitleElement.getText(); 

assertEquals(bookTitleElement.isDisplayed(), true); 
assertTrue(bookTitleValue.length()> 0); 

} 

} 
+0

您想截取日誌的網頁或屏幕截圖嗎? –

+0

stacktrace表明失敗可能是由於兩個相互衝突的庫版本使用有一些差異。你可以分享一下'pom.xml'作爲你正在使用哪個版本的依賴關係。 – nullpointer

+0

@KishanPatel,想要截取網頁的截圖 –

回答

0

試試看。

public class Screenshot { 

public static void main(String[] args) throws IOException { 
    // TODO Auto-generated method stub 

    FirefoxDriver driver = new FirefoxDriver(); 
    driver.get("http://yahoo.com"); 
    driver.manage().window().maximize(); 

    File scrFile = (driver.getScreenshotAs(OutputType.FILE)); 
    FileUtils.copyFile(scrFile, new File("d:\\Selenium\\screenshot2.png")); 
    } 
} 

讓我知道你是否有任何疑問。 :-)

+0

如何使用selenium webdriver在網頁/表格中查找重複的文本/記錄? 我qyuestoin是,現在iam指向一個網頁,它包含n個文本,我怎麼能找到該網頁包含重複的文本,,,,說在該頁面文本(斑馬)顯示/列出2次,它應該找斑馬作爲重複,就像我想腳本爲上述情況 \t 如果網頁有成千上萬的文本,我需要找到唯一的重複記錄,我不能單獨搜索對嗎? .....我只是想打印重複的記錄這就是所有 –

+0

你可以請詳細說明嗎?這些記錄/文字是什麼?告訴我情景 –

+0

所以當你說斑馬爲文字。它是什麼,我的意思是它是如何顯示的?這只是一個文本或一些領域?你能分享一個小截圖嗎?我需要知道它是什麼類型的文本。 –

相關問題