#protractor
#транспортир
Вопрос:
Я довольно новичок в транспортире и все еще работаю над ускорением. В настоящее время я испытываю странное поведение с моими тестами транспортира. У меня есть тест входа в систему и тест выхода из системы. Тест входа работает нормально. Но тест выхода из системы завершается неудачей, потому что сначала отображается экран входа в систему, т. Е. независимо от теста я всегда должен входить в систему. Я не могу преодолеть это. Ценю ваши предложения. Прикрепляю мой файл конфигурации транспортира и мою тестовую спецификацию.
exports.config = {
specs: [
'./src/**/login.e2e-spec.ts'
],
multiCapabilities: [{
browserName: 'chrome',
os: 'Windows',
os_version: '10',
build_number: 'local',
maxInstances: 2
}],
SELENIUM_PROMISE_MANAGER: false,
directConnect: false,
connectionRetryCount: 3,
connectionRetryTimeout: 90000,
baseUrl: 'http://localhost:4200',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: _.noop
},
onPrepare: () => {
tsNode.register({
project: path.join(__dirname, './tsconfig.e2e.json')
});
let reporter = new SpecReporter();
jasmine.getEnv().addReporter(reporter);
}
};
test.spec.ts
import { $, browser } from 'protractor';
import { protractor } from 'protractor/built/ptor';
describe('Login page', () => {
let EC = protractor.ExpectedConditions;
it('should allow the test user to login', async () => {
await $('input[name=email]').sendKeys('abc@xyz.com');
await $('input[name=password]').sendKeys('pwd');
await $('button.auth0-lock-submit').click();
await browser.wait(EC.titleContains('user'), 15000);
});
it('should allow the test user to logout', async () => {
await $('logoutbutton').click();
await browser.wait(EC.titleContains('loginpage'), 15000);
});
});
Когда я выполняю вышеуказанный тест, тест входа в систему проходит. Но для выхода из системы требуется, чтобы тестируемый пользователь снова вошел в систему. Не уверен, почему?
Комментарии:
1. можете ли вы показать, как выглядит ваш файл спецификации? чтобы протестировать выход из системы, конечно, вы должны сначала войти в систему…
2. Теперь я добавил файл test.spec.ts
3. Проблема в том, что браузер перезагружается и запускает чистый экземпляр для каждого
it
блока, поэтому для проверки выхода из системы вам необходимо сначала войти в систему. Вы должны добавить вход во вторуюit
, прежде чем пытаться выйти из системы. Или, может быть, сделать так, чтобы вход и выход происходили в одном и том же тесте. Кроме того, вы могли бы добавитьbeforeEach
функцию и поместить туда код входа, чтобы он входил в систему перед каждымit
блоком