Last active
November 21, 2016 22:10
-
-
Save Xotabu4/59bdc4aed2307a18f5cb4e23b7249e52 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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