Я новый тестировщик автоматизации, работаю над примерами тестовых сценариев. Ребята, мне нужна помощь, я пробовал использовать POM и базовый TestNG.
Я создал 2 пакета — страницы и тестовые сценарии.
Я получаю сообщение об ошибке, когда пытаюсь получить доступ к методам «ClickJoin, Enterusername» из пакетов моих страниц. Я пытался выяснить проблему, но не смог понять, почему возникает эта ошибка.
Ниже приведена ошибка:
java.lang.NullPointerException
at com.google.common.base.Preconditions.checkNotNull
Мой код из пакета "pages":
пакет com.gptoday.pages;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
public class Login {
public WebDriver driver;
public WebDriverWait wait;
By join = By.xpath("//*[@id='members']/a[1]");
By username = By.id("username");
By password = By.id("password");
By loginButton = By.xpath("//*[@id='normallogin']/div[4]/p/input[2]");
public Login (WebDriver driver){
this.driver=driver;
}
public void ClickJoin(){
wait = new WebDriverWait(driver,10);
//driver.findElement(join).click();
wait.until(ExpectedConditions.visibilityOfElementLocated(join)).click();
}
public void EnterUsername(){
wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(username)).click();
wait.until(ExpectedConditions.visibilityOfElementLocated(username)).sendKeys("Test username");
System.out.println("Username Entered");
}
public void EnterPassword(){
driver.findElement(password).clear();
driver.findElement(password).click();
System.out.println("Password Entered");
}
public void ClickButton(){
wait = new WebDriverWait(driver, 10);
//driver.findElement(loginButton).click();
wait.until(ExpectedConditions.visibilityOfElementLocated(loginButton)).click();
System.out.println("Login Button Clicked");
}
}
Мой код из пакета «TestCases»:
Этот код моего базового класса.
package com.gptoday.com.gptoday.testcases;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.firefox.internal.ProfilesIni;
import org.testng.annotations.AfterMethod;
import org.openqa.selenium.firefox.internal.ProfilesIni;
public class Base {
public WebDriver driver;
@BeforeMethod
public void BaseSetup(){
ProfilesIni prof = new ProfilesIni();
FirefoxProfile ffProfile= prof.getProfile ("vishvesh");
ffProfile.setAcceptUntrustedCertificates(true);
ffProfile.setAssumeUntrustedCertificateIssuer(false);
String BaseUrl = "https://www.gptoday.com";
System.setProperty("webdriver.gecko.driver", "G:/Workplace/AutomationSetupFiles/Geckdriver/geckodriver.exe");
driver = new FirefoxDriver (ffProfile);
driver.get(BaseUrl);
driver.manage().window().maximize();
}
@AfterMethod
public void afterTest() {
System.out.println("Success");
}
}
**Below the the code for the test case.**
package com.gptoday.com.gptoday.testcases;
import org.testng.annotations.Test;
import com.gptoday.pages.Login;
import org.openqa.selenium.WebDriver;
public class LoginVerification extends Base {
public WebDriver driver;
public Login obj = new Login(driver);
@Test
public void Verify()
{
obj.ClickJoin();
obj.EnterUsername();
}
}
**Error:**
Success
FAILED: Verify
java.lang.NullPointerException
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:770)
at org.openqa.selenium.support.ui.FluentWait.(FluentWait.java:96)
at org.openqa.selenium.support.ui.WebDriverWait.(WebDriverWait.java:71)
at org.openqa.selenium.support.ui.WebDriverWait.(WebDriverWait.java:45)
at com.gptoday.pages.Login.ClickJoin(Login.java:22)
at com.gptoday.com.gptoday.testcases.LoginVerification.Verify(LoginVerification.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:108)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:661)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:869)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1193)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:744)
at org.testng.TestRunner.run(TestRunner.java:602)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:380)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:375)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)
at org.testng.SuiteRunner.run(SuiteRunner.java:289)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1301)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1226)
at org.testng.TestNG.runSuites(TestNG.java:1144)
at org.testng.TestNG.run(TestNG.java:1115)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:230)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:76)
Подробнее здесь: https://stackoverflow.com/questions/429 ... ecknotnull
Что это за ошибка: com.google.common.base.Preconditions.checkNotNull ⇐ JAVA
Программисты JAVA общаются здесь
1771203640
Anonymous
Я новый тестировщик автоматизации, работаю над примерами тестовых сценариев. Ребята, мне нужна помощь, я пробовал использовать POM и базовый TestNG.
Я создал 2 пакета — страницы и тестовые сценарии.
Я получаю сообщение об ошибке, когда пытаюсь получить доступ к методам «ClickJoin, Enterusername» из пакетов моих страниц. Я пытался выяснить проблему, но не смог понять, почему возникает эта ошибка.
Ниже приведена ошибка:
java.lang.NullPointerException
at com.google.common.base.Preconditions.checkNotNull
[b]Мой код из пакета "pages":[/b]
пакет com.gptoday.pages;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
public class Login {
public WebDriver driver;
public WebDriverWait wait;
By join = By.xpath("//*[@id='members']/a[1]");
By username = By.id("username");
By password = By.id("password");
By loginButton = By.xpath("//*[@id='normallogin']/div[4]/p/input[2]");
public Login (WebDriver driver){
this.driver=driver;
}
public void ClickJoin(){
wait = new WebDriverWait(driver,10);
//driver.findElement(join).click();
wait.until(ExpectedConditions.visibilityOfElementLocated(join)).click();
}
public void EnterUsername(){
wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(username)).click();
wait.until(ExpectedConditions.visibilityOfElementLocated(username)).sendKeys("Test username");
System.out.println("Username Entered");
}
public void EnterPassword(){
driver.findElement(password).clear();
driver.findElement(password).click();
System.out.println("Password Entered");
}
public void ClickButton(){
wait = new WebDriverWait(driver, 10);
//driver.findElement(loginButton).click();
wait.until(ExpectedConditions.visibilityOfElementLocated(loginButton)).click();
System.out.println("Login Button Clicked");
}
}
[b]Мой код из пакета «TestCases»:
Этот код моего базового класса.[/b]
package com.gptoday.com.gptoday.testcases;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.firefox.internal.ProfilesIni;
import org.testng.annotations.AfterMethod;
import org.openqa.selenium.firefox.internal.ProfilesIni;
public class Base {
public WebDriver driver;
@BeforeMethod
public void BaseSetup(){
ProfilesIni prof = new ProfilesIni();
FirefoxProfile ffProfile= prof.getProfile ("vishvesh");
ffProfile.setAcceptUntrustedCertificates(true);
ffProfile.setAssumeUntrustedCertificateIssuer(false);
String BaseUrl = "https://www.gptoday.com";
System.setProperty("webdriver.gecko.driver", "G:/Workplace/AutomationSetupFiles/Geckdriver/geckodriver.exe");
driver = new FirefoxDriver (ffProfile);
driver.get(BaseUrl);
driver.manage().window().maximize();
}
@AfterMethod
public void afterTest() {
System.out.println("Success");
}
}
**Below the the code for the test case.**
package com.gptoday.com.gptoday.testcases;
import org.testng.annotations.Test;
import com.gptoday.pages.Login;
import org.openqa.selenium.WebDriver;
public class LoginVerification extends Base {
public WebDriver driver;
public Login obj = new Login(driver);
@Test
public void Verify()
{
obj.ClickJoin();
obj.EnterUsername();
}
}
**Error:**
Success
FAILED: Verify
java.lang.NullPointerException
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:770)
at org.openqa.selenium.support.ui.FluentWait.(FluentWait.java:96)
at org.openqa.selenium.support.ui.WebDriverWait.(WebDriverWait.java:71)
at org.openqa.selenium.support.ui.WebDriverWait.(WebDriverWait.java:45)
at com.gptoday.pages.Login.ClickJoin(Login.java:22)
at com.gptoday.com.gptoday.testcases.LoginVerification.Verify(LoginVerification.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:108)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:661)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:869)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1193)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:744)
at org.testng.TestRunner.run(TestRunner.java:602)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:380)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:375)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)
at org.testng.SuiteRunner.run(SuiteRunner.java:289)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1301)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1226)
at org.testng.TestNG.runSuites(TestNG.java:1144)
at org.testng.TestNG.run(TestNG.java:1115)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:230)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:76)
Подробнее здесь: [url]https://stackoverflow.com/questions/42936414/what-is-this-error-at-com-google-common-base-preconditions-checknotnull[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия