2016-05-26 33 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

所以当你说斑马为文字。它是什么,我的意思是它是如何显示的?这只是一个文本或一些领域?你能分享一个小截图吗?我需要知道它是什么类型的文本。 –

相关问题