Добрый день. Использую Selenium Webdriver + Node js. Из node js запускаю первый тест, в котором открываю страницу, ввожу логин+пароль, происходит переход на главную страницу приложения, получение куки, запись куки в файл и прописываю модуль для запуска второго теста.
Во втором тесте происходит открытие второго окна, прописываю открытие главной страницы + устанавливаю ранее добытые куки. Вместо главной страницы, открывает страницу авторизации. Пробовала прописывать ожидания, не помогло.
Подскажите, пожалуйста, в чем может быть дело?
Код теста 1:
"use strict";
var webdriver = require('selenium-webdriver');
var browser = new webdriver.Builder().usingServer().withCapabilities({'browserName': 'chrome' }).build();
browser.manage().window().maximize();
browser.manage().timeouts().pageLoadTimeout(7000);
browser.findElement(webdriver.By.name('ctl00$Content$Username')).clear();
browser.findElement(webdriver.By.name('ctl00$Content$Username')).sendKeys('Login');
browser.wait(function() {
return browser.findElement(webdriver.By.name('ctl00$Content$Password')).isDisplayed();
}, 10000);
browser.findElement(webdriver.By.name('ctl00$Content$Password')).clear();
browser.findElement(webdriver.By.name('ctl00$Content$Password')).sendKeys('Password');
browser.findElement(webdriver.By.name('ctl00$Content$UserLogin')).click();
browser.manage().timeouts().pageLoadTimeout(10000);
browser.sleep(4000);
// получение куки
browser.manage().getCookies().then(function(cookies){
var str_cooki;
str_cooki = JSON.stringify(cookies);
console.log(str_cooki);
var fs = require('fs');
fs.writeFile("./test.txt", str_cooki, function(err) { // запись в файл
if(err) {
console.log(err);
} else {
//console.log(" .");
}
});
})
require('./2.js');
Код теста 2:
"use strict";
var webdriver = require('selenium-webdriver');
var browser = new webdriver.Builder().usingServer().withCapabilities({'browserName': 'chrome' }).build();
var fs = require('fs');
fs.readFile("./test.txt",'utf8', function(err, data) { // чтение из файла
if(err) {
console.log(err);
} else {
console.log(data)}
var cookies = JSON.parse(data)
browser.manage().addCookie(data)
});
browser.sleep(4000);
console.log('123');