#selenium #automation
#selenium #автоматизация
Вопрос:
При выполнении одного теста за другим второй всегда завершается с ошибкой недопустимого сеанса. Игнорируйте код, который еще не переработан. Может кто-нибудь помочь мне понять причину? я ставлю точку останова в первой строке во втором тесте, и она достигает ее, но завершается сбоем со следующим :
invalid session id
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'Artjoms-MacBook-Air.local', ip: 'fe80:0:0:0:84a:618d:34b2:408c%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.15.6', java.version: '15'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 86.0.4240.111, chrome: {chromedriverVersion: 86.0.4240.22 (398b0743353ff..., userDataDir: /var/folders/z6/46cwjtvx2fj...}, goog:chromeOptions: {debuggerAddress: localhost:51827}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: MAC, platformName: MAC, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:virtualAuthenticators: true}
Session ID: d39535e6570e233ffb589877403d2d7d
*** Element info: {Using=css selector, value=.cookie-accept-all}
@@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class MyCardsServiceTest extends WebDriverSettings {
private MyCardsService myCardsService;
private HomePageService homePageService;
private LoginService loginService;
private MyAccountService myAccountService;
private CookieModal cookieModal;
@Before
public void setUp() {
super.setUp();
cookieModal = CookieModal.cookieModalInstance(driver);
homePageService = HomePageService.homePageServiceInstance(driver);
loginService = LoginService.loginServiceInstance(driver);
myCardsService = MyCardsService.myCardsServiceInstance(driver);
myAccountService = MyAccountService.myAccountServiceInstance(driver);
}
@Test
public void shouldSuccessfullyAddCard() {
cookieModal.acceptCookies();
homePageService.clickOnMyAccountTab();
loginService.login(loginCorrectData());
homePageService.openMyAccountPage();
myAccountService.myAccountPage().clickOnMyCardsTab();
myCardsService.addCard(cardData());
Assert.assertEquals(cardLastFourDigits, myCardsService.getMyCards().cardIndicator.getText());
}
Вот мои настройки :
public class WebDriverSettings {
public WebDriver driver;
@Before
public void setUp() {
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
loginToEnvironment();
}
@After
public void tearDown() {
if (driver != null) {
driver.manage().deleteAllCookies();
driver.close();
}
}
текущие зависимости :
dependencies {
compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.59'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.3.1'
compile group: 'org.seleniumhq.selenium', name: 'selenium-chrome-driver', version: '3.141.5'
compile group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '4.2.2'
compileOnly 'org.projectlombok:lombok:1.18.16'
annotationProcessor 'org.projectlombok:lombok:1.18.16'
testCompileOnly 'org.projectlombok:lombok:1.18.16'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.16'
}
Комментарии:
1. Какую платформу модульного тестирования вы используете? И какая версия?
2. @AlexeyR. Junit 4.12
3. @AlexeyR. я добавил список зависимостей и попробовал использовать более новую версию junit, но проблема все та же
4. Я просто воспроизвел структуру, подобную вашей (с junit 4.12), и на моей стороне все работает нормально. Что я могу предложить, так это обновить ваш вопрос с минимальным воспроизводимым примером. Также установите точку останова
driver = new ChromeDriver();
, запустите в debug и убедитесь, что она вызывается для обоих тестов.