Skip to content

Instantly share code, notes, and snippets.

@Xotabu4
Last active November 21, 2016 22:10
Show Gist options
  • Select an option

  • Save Xotabu4/59bdc4aed2307a18f5cb4e23b7249e52 to your computer and use it in GitHub Desktop.

Select an option

Save Xotabu4/59bdc4aed2307a18f5cb4e23b7249e52 to your computer and use it in GitHub Desktop.
3. и собственно как потом полученное правильно использовать в тесте, если он звучит так (я там предположил использование, но явно оно неправильно - проверял ) - подозреваю, что тест написан не правильно:
============================================================================================================================
============================================================================================================================
let LoginForm = require('../pageObjects/LoginForm.js').LoginForm
let DashBoardPage = require('../pageObjects/DashBoardPage.js').DashBoardPage
let data = require('../testdata/users.json')
describe('tests', function(){
//В тестах при создании пейджобджектов - в конструктор нужно передавать браузер для которого будет он создан
//Но учти что это не очень удобно если логика на страницах отличается - у кого-то одно, у кого-то другое - тогда тебе нужен фабричный метод - getPageFor(browser) как я написал на стековерфлоу
let bd1loginForm = new LoginForm(BD1)
let bd2loginForm = new LoginForm(BD2)
beforeEach(function () {
BD1.ignoreSynchronization = true //Попробуй всетаки этот плагин, мне кажется он тебя может спасти - https://github.com/alfonso-presa/protractor-testability-plugin
BD2.ignoreSynchronization = true
BD1.get('') //а ты не пробовал без параметра вообще browser.get() ? Я вот не помню, может сработать
BD2.get('')
//можно дать чуть меньше если ждать после вызова .get и для второго браузера
//Это из-за нюансов - протрактор делает одну очередь задач для всех твоих браузеров - то есть если попала задача на ждать - то это остановит выполнение и в первом и во втором браузере, а потом возьмется следующая задача из очереди задач - а она опять спать - но уже во втором браузере
BD2.sleep(1000)
})
it('First user logins', function () {
bd1loginForm.login(data.users[0])
//В тестах при создании пейджобджектов - в конструктор нужно передавать браузер для которого будет он создан
let success = new DashBoardPage(BD1).logoutButton //Просто пример - можно придумать лучше
expect(success.isDisplayed()).toBe(true)
})
it('Second user logins', function () {
bd2loginForm.login(data.users[1])
let success = new DashBoardPage(BD2).logoutButton //Просто пример - можно придумать лучше
expect(success.isDisplayed()).toBe(true)
})
//Зависимость между тестами - плохо. Перепиши.
it('Second user see presence of the first user', function () {
let user1presence = BD1.$('[data-jid="test8@blabla.com"] .statusActivity') //хардкод в локаторе - "test8@nmeet.dipper.io" перепиши
let user2presence = BD2.$('[data-jid="aa5@blabla.com"] .statusActivity')
expect(user1presence.isDisplayed()).toBe(true)
expect(user2presence.isDisplayed()).toBe(true)
})
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment