Вопросы с тегами [protractor]

1

голосов
1

ответ
27

Просмотры

Хранить параметры в другом месте, чем config.js

Я использую параметры для некоторых итерационных тестов E2E с помощью транспортира / Жасмин. Я видел в других статьях, что параметры, как правило, хранятся в config.js. Теперь мой файл параметров будет большой, большой, и я предпочел бы не иметь его как часть config.js. Могу ли я использовать отдельный файл например parameters.js? Как бы я называю это в спецификации файлов? Примечание: содержимое параметров будет й-путем. Вот быстрый, например // ванны module.exports = {Титулы: {продукт: {категории: ".//*[@id='baths']", модель:».//*[@id='wilson-app «] / главная / планировка / открытие каталог / продукт-лист / раздел / DIV / продукта [1] / DIV / кф кнопки [2] / кнопка», и т.д., и т.д. Благодаря David
David Redmayne
1

голосов
1

ответ
86

Просмотры

Почему мой метод не дожидаясь обещание решить, прежде чем вернуться?

Я пытаюсь создать массив, заполненный именами Merchant, каждый из которых имеет идентификатор элемента. Я проверяю, если строка имеет значение первого, так как я не знаю, сколько продавцов будет в списке, за исключением, что там будет меньше, чем 20. Я хочу, чтобы вернуть массив, так что я могу сортировать его и выполнить другие действия для валидация. Обещание не ждет, чтобы решить, прежде чем вернуться. Я могу видеть здание массива, но я хочу, чтобы вывести окончательный список Banamex Merchant, Dashboard Demo, электронные услуги Merchant, Германия Merchant, Global Канада Merchant, Бизнес-Мишель, Paytrace Merchant, TestMerchant Как вы можете видеть ниже, различные способы, я стараюсь вывести окончательный список возвращается перед списком даже построил, хотя я построил обещание и звоню .then () возвращает ответ в моем это () заявлении. merchants.po. } Вернуть решительность (список); }); } DoBuild () {this.buildMerchantListArray () .then ((список: строка []) => {возвращение console.log ( 'doBuild:' + список);}); } / ** * Получить таблицу элемент для имени Торговца рядка я * @param я * @returns {ElementFinder} * / getMerchantName (я: номер): ElementFinder {возвратный элемент (by.id ( 'товарности' + я + -Название')); }} Merchants.e2e-spec.ts импорта {FooterParams} от»../../../../components/footer/footer.params'; импорт {} Footer от '../../../../components/footer/footer.po'; импорт {} Logo из '../../../utility/logo/logo.po'; импорт {LoginParams} от»../../ .. /authentication/login/login.params'; импорт {LoginPage} от '../../../authentication/login/login.po'; импорт {AppPage} от '../../../../app.po'; импорт {Header} от '../../../dashboard/header/header.po'; импорт {ElementFinder} от 'транспортир'; импорт {MerchantsPage} от './merchants.po'; импорт {MerchantsParams} от»./merchants.params'; описывают ( 'Торговцы Страницы Dashboard App', () => {пусть приложение: AppPage, пусть логин: LoginPage, пусть навигации: заголовок, пусть страницы: MerchantsPage; beforeAll (() => {Навигационная = новый заголовок (); приложение = новый AppPage (); войти в систему = новый LoginPage (); страница = новый MerchantsPage (); app.navigateTo ( 'панель'), то (() => {login.checkAuthentication (LoginParams.user, LoginParams.. user_pwd); }); }); beforeEach (() => {Logo.getLogo () нажмите (), а затем (() => {navigation.clickAdminDropdown (), то (() => {navigation.clickMerchants ();... ожидать (page.getMerchantsHeader () . .getText ()) toContain (MerchantsParams.merchantsHeaderText); Footer.getFooter (), а затем ((сноска:. ElementFinder) => {(. ожидать (footer.getText ()) toContain (FooterParams.footer));}); });});}); он ( 'следует проверить представление списка Торговцы в алфавитном порядке по имени', () => {Promise.resolve (page.buildMerchantListArray ()), то ((обр) => {console.log ( 'мой список:'. + обр );}); page.doBuild ();. page.buildMerchantListArray (), то ((ответ) => {Console.log ( 'ответ:' + ответ); }); }); }); Консоль Выход Жасмин начал свой список: doBuild: Ответ: Список здания: TestMerchant здания список: Paytrace Merchant, TestMerchant здания список: Мишель Бизнес, Paytrace Merchant, TestMerchant здания список: Global Канада Merchant, Мишель Бизнес, Paytrace Merchant, TestMerchant здания список: Германия Торговец, Global Канада Merchant, Мишель Бизнес, Paytrace Merchant, TestMerchant список здания: электронные услуги Merchant, Германия Merchant, Global Канада Merchant, Бизнес-Мишель, Paytrace Merchant, TestMerchant здание списка: Dashboard Demo, электронные услуги Merchant, Германия Merchant, Global Канада Merchant, Мишель Бизнес, Paytrace Merchant, TestMerchant здания список: Banamex Merchant, Dashboard Demo, электронные услуги Merchant, Германия Merchant,
M. Deem
1

голосов
0

ответ
154

Просмотры

Невозможно подключиться к странице. Browserstack

Я использую транспортир с Browserstack.exe для э2э (UI) тестирования. Я должен проверить proccess авторизации. Он идет таким образом: перейти на домен / # вход редирект на auth0.com получить правомочно (принимающее разрешение auth0) ввести учетные данные перенаправлять на мой угловой клиент с готовой аутентификацией. Я читал, что для тестирования отдельной страницы входа в системе, мы должны использовать browser.ignoreSynchronization = истину; Иногда это работает, некоторые - нет. Я не понимаю, почему и что от этого зависит. У меня есть эта ошибка во время выполнения транспортира: Ожидаемая «HTTP: // локальный: 8001 / приложение / # / Логин» содержит «domen.auth0.com». и этот экран: мой код: описать ( «[domain.reports]», функция () {beforeAll (функция () {// это делает транспортир не ждать угловых обещаний // для тестирования отдельной страницы входа в браузер.. ignoreSynchronization = TRUE; }); beforeEach (функция () {browser.wait (browser.get ( '# / Войти'), 5000); ожидать (browser.getCurrentUrl ()) toContain ( 'domain.auth0.com.');}); он ( «автоматически перенаправлять / образцы, когда местоположение хэш / фрагмент пустой», функция () {вар EC = protractor.ExpectedConditions; вар эш = элемент (by.css ( «auth0 замок подать.»)); браузер .wait (EC.visibilityOf (эл), 10000); protractor.loginHelpers.loginToPage ('[email protected]», 'Qazxsw123456'); protractor.waitHelpers.waitForUrlToBeChanged ( "/ образцы"); //browser.wait ( browser.get ( '# / образцы'), 5000); ожидать (browser.getCurrentUrl ()) toMatch ( "/ образцы");. browser.get ( '# / апи'); ожидать (browser.getCurrentUrl ()) not.toContain ( "/ апи"). }); }); Он работает на другом scenarious ... Спасибо посоветуйте за любые мысли!
pavel
1

голосов
1

ответ
357

Просмотры

Как отправить клавиши клавиатуры вложенного входу в ионном входе с помощью транспортира

Привет У меня возникли проблемы при попытке отправить нажатие клавиши на ионном вход в ионном приложении. Я могу успешно нажмите ион-вход, но когда я пытаюсь отправить ключи он говорит неуспешно: неизвестная ошибка: не может сосредоточиться элемент Я думаю, транспортир связывание с ионным входом и не вложенный элемент ввода в HTML. моя реализация псевдокод emailInput = элемент (by.css ( 'passwordInput.')); emailInput.click (); emailInput.sendKeys ( "[email protected]"); // ошибка здесь
Daniel
1

голосов
1

ответ
662

Просмотры

Не в состоянии дать значение даты выбора даты в транспортира

Я использую угловые 4 с транспортиром 5.2.2 и 3.2.0 огурца моего HTML код приведен ниже DOB: я не в состоянии дать значение даты с помощью элемента (by.css ( «NGX-Datepicker-контейнер ввода».) ) .sendKeys ( "08-02-1990"); но когда я пытаюсь нажать этот же элемент, дата выбора всплывающее окно будет открыто. любая идея?
Devleena
1

голосов
1

ответ
491

Просмотры

e2e protractor test can't detect angular component in multi layer angular router

I have an angular application, i need to implement e2e test in this project. angular pack: 4.6.6 protractor: 5.3.0 Also i have a multi-layer router in my project, that wrap the router-outlet int o an other component in each layer. When i need to navigate to one of the low-layer routes for example /notification/groups in the test environment, the program can't get the response from the page and return error: Failed: Timed out waiting for asynchronous Angular tasks to finish after 11 seconds. This may be because the current page is not an Angular application. Please see the FAQ for more details: https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular Also when i navigate to the login page in test environment, it will be pass without any problem just because it's on the highest layer in the router. So the problem is about that angular can't detect the components that wrapped into other components with router-outlet. how i can solve this problem this is my router configuration: [ { path: "", component: ThemeComponent, canActivate: [AuthGuard], children: [ { path: "", component: DefaultComponent, children: [ { path: "modbus-devices", component: DeviceListComponent, data: { deviceType: 'modbus' } }, { path: "snmp-devices", component: DeviceListComponent, data: { deviceType: 'snmp' } }, { path: "add-modbus-device", component: ModbusAddDeviceComponent }, { path: "edit-modbus-device/:id", component: ModbusEditDeviceComponent }, { path: "add-snmp-device", component: SnmpAddDeviceComponent }, { path: "edit-snmp-device/:id", component: SnmpEditDeviceComponent }, { path: "notification/groups", component: NotificationGroupListComponent }, { path: "notification/setting", component: NotificationPrioritySettingComponent }, { path: "notification/groups/add", component: NotificationGroupAddComponent, data: { edit: false } }, { path: "notification/groups/edit/:id", component: NotificationGroupAddComponent, data: { edit: true } } ] } ], }, { path: 'login', component: AuthComponent }, { path: 'logout', component: LogoutComponent } ]
Mohammad Raha
1

голосов
2

ответ
289

Просмотры

Есть ли способ запустить сервер селена из командной строки с выходом в Интернете

я хотел бы запустить сервер селена из командной строки с вне подключения к Интернету. Каждый раз, когда я запускаю ниже команда запуска WebDriver-менеджер всегда будет необходимо подключение к Интернету, чтобы запустить сервер, потому что эти команды проверяют наличие новых двоичных файлов. Но я хотел бы запустить сервер селена с двоичными файлами, которые уже загружены на мою систему с проверяя новых двоичные файлы. Когда я искать выше вопрос я нашел решение ниже. WebDriver-менеджер начать --versions.standalone номер версии Даже если я использую выше команды и попытаться запустить сервер селена, указав номер версии все-таки это зависит от подключения к Интернету. Может ли один помочь мне, как запустить сервер селена с выходом в Интернете. Я не хочу, процесс проверки при запуске сервера
vasundhara
1

голосов
2

ответ
85

Просмотры

Транспортир: как сохранить текстовое значение компоненты и повторно использовать его в спецификации?

У меня есть строка отображается на странице, и я хочу, чтобы сохранить эту строку в переменной, так что я могу использовать эту переменную для проверки дальше в процессе тестирования. Вот как это выглядит следующим образом: пусть storedValue: строка; элемент (by.id ( 'MyElement')) GetText (), а затем ((elementValue: строка) => {storedValue = elementValue; console.log ( 'сохраненное значение:' + storedValue);})..; // Некоторые несвязанный код будет идти здесь в будущем browser.wait (() => storedValue == NULL, 5000, 'browser.wait тайм-аут'!); ожидать toEqual (storedValue) (элемент (by.id ( 'MyElement')) GetText ().). Если строка в странице Привет, тест не пройден с журналом ожидаемого «Hello» сравняться не определено. Почему до сих пор не определено? Я думал, что транспортир будет стоять в очереди последние две команды синхронно в ControlFlow.
Coli
1

голосов
0

ответ
43

Просмотры

Невозможно выбрать дату из с ввода с клавиатуры отключена в транспортир

У меня есть ввод с клавиатуры отключенной для выбора даты. Я попытался отправки ключей с помощью: productRegistration.attractionDate.sendKeys ('07 / 07 / 2018' ); Он не посылает никакого ключа, ни генерирует какую-либо ошибку. Я перепробовал все решения, но ни один из них не нажмут на пользовательском интерфейсе даты. Пожалуйста помоги! Изображение каландра:
Mancy Saxena
1

голосов
3

ответ
260

Просмотры

protractor cannot find className

I am wanting to select object by className and NOT css or id and i continuely get error, cannot locate css selector, even though im trying to select with className. Even said i can not get the element with the css either. I have just set up protractor, so maybe im missing something? protractor - Version 5.3.0, and i run the test file using 'ng e2e' from command line. this is my page object: import { browser, by, element } from 'protractor'; export class AppPage { navigateTo() { return browser.get('https://mywebsite.com'); } getSearchBtn() { return element(by.className('c-search-form-button')); and this is my spec file import { AppPage } from './app.po'; import { browser, by, element } from 'protractor'; import {Config} from 'protractor'; describe('playground', () => { let page: AppPage; ; beforeEach(() => { page = new AppPage(); browser.waitForAngularEnabled(false); // must have if non-angular site page.navigateTo(); // or browser.get(url); //or browser.get('https://website.com'); }); it('click the search button', () => { page.getSearchBtn().click(); }); }); error - Failed: No element found using locator: By(css selector, .c-search-form-button) the object ... i have also tried with element(by.className('c-search-form')); element(by.className('c-search-form-button')); element(by.css('.c-search-form-button')); element(by.css('.c-search-form')); element(by.tagName('push-button'));
user6086008
1

голосов
1

ответ
37

Просмотры

функции в других файлах JS не вызывается, когда вызов в течение цикла

У меня есть некоторые функции в другой JS файл «Login.js», когда я называю эти функции с в цикле они не выполняются. Если я позвоню без петли его работать отлично. Любая помощь будет принята с благодарностью. ниже сценарий из моих specs.js него ( 'и Вход в MSIX', функция () {вар Учебное пособие = новый excelData.Workbook (); вар конвертированы; вар данные = []; workbook.xlsx.readFile (»./ тесты /e2e/TestData/Testcase_data_v1.xlsx').then(function () {вар лист = workbook.getWorksheet ( 'Отчеты'); browser.waitForAngular (), для (я = 2; я
Vin
1

голосов
1

ответ
310

Просмотры

Угломеры испытание сломало без видимой причины: «Тайм-аут в ожидании асинхронных Угловых задач закончить»

Мои Угломеры тесты разбиты с прошлого понедельника (2018-03-26), и я не знаю, почему. Последний раз они работали (и успешно прошли) была пятница до этого - 2018-03-23. Как отлаживать этот вопрос? Я пробовал так много вещей, и выбежал из идей ... Выход ошибки $ НПХ запустить e2e> [email protected] pree2e C: \ W \ ф \ MYPROJ \ myproj.SPA> WebDriver-менеджер обновлений --standalone лжи - -gecko ложь [12:54:20] I / обновление - chromedriver: файл существует C: \ W \ ф \ MYPROJ \ myproj.SPA \ node_modules \ транспортир \ node_modules \ WebDriver-менеджер \ селеном \ chromedriver_2.37.zip [12 : 54: 20] I / обновление - chromedriver: распаковка chromedriver_2.37.zip [12:54:21] I / обновление - chromedriver: chromedriver_2.37.exe до даты> [email protected] e2e C: \ Ш \ ф \ MYPROJ \ myproj.SPA> транспортира (узел: 13492) [DEP0022] DeprecationWarning: os.tmpDir () является устаревшим. Используйте os.tmpdir () вместо этого. Многоразовый компонент Инструментальные средства × первостепенную ненулевое значение с нулевым значением не должна стирать ввода-поле номера - Сбой: Тайм-аут в ожидании асинхронных Угловые задачи, чтобы закончить через 11 секунд. Это может быть потому, что текущая страница не является Угловой применение. Пожалуйста, ознакомьтесь с Правилами форума для получения более подробной информации: https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular Ожидая элемента с локатором - Locator: By (селектор CSS, * [ID = "inputNumber1"]) (информация о сессии: хром = 64.0.3282.140) (информация Driver: chromedriver = 2.37.540470 (e522d04694c7ebea4ba8821272dbef4f9b818c91), платформа = Windows NT 6.1.7601 SP1 x86_64) в Object.checkLegacyResponse (C: \ W \ ф \ MYPROJ \ myproj.SPA \ node_modules \ селеном WebDriver \ Lib \ error.js: 546: 15) parseHttpResponse (C: \ Ш \ ф \ MYPROJ \ MYPROJ. СПА \ node_modules \ транспортира \ \ встроенный element.js: 831: 22) при Function.Page.getInputText (С: \ Ш \ ф \ MYPROJ \ myproj.SPA \ э2э \ дом-оберток \ page.ts: 75: 22) на InputNumberWrapper.get [как текст] (C: \ Ш \ ф \ MYPROJ \ myproj.SPA \ э2э \ РОМ упаковщики \ вход-number.wrapper.ts: 11: 21) в UserContext. (С: \ Ш \ ф \ MYPROJ \ myproj.SPA \ э2э \ э2э-верстак-page.e2e-spec.ts: 16: 43) на новой ManagedPromise (C: \ Ш \ ф \ MYPROJ \ myproj.SPA \ node_modules \ селеном WebDriver \ Lib \ promise.js: 1 077: 7) при ControlFlow.promise (С: \ Ш \ ф \ MYPROJ \ myproj.SPA \ node_modules \ селеном WebDriver \ Lib \ promise.js: 2505: 12) Из : Задача: Выполнить Fit ( «первостепенную ненулевое значение с нулевым значением не должно стереть ввода-поле номера») в потоке управления от асинхронного теста: Ошибка при Suite. (C: \ Ш \ ф \ MYPROJ \ myproj.SPA \ э2э \ э2э-верстак-page.e2e-spec.ts: 15: 5) на объекте. (С: \ Ш \ ф \ MYPROJ \ myproj.SPA \ э2э \ э2э-верстак-page.e2e-spec.ts: 4: 1) при Module._compile (module.js: 635: 30) в Module.m. _compile (C: \ Ш \ ф \ MYPROJ \ myproj.SPA \ node_modules \ TS-узел \ SRC \ index.ts: 392: 23) при Module._extensions..js (module.js: 646: 10) на объекте. require.extensions (анонимная функция) [как .ts] (C: \ W \ ф \ MYPROJ \ myproj.SPA \ node_modules \ ц-узел \ SRC \ index.ts: 395: 12). То, что я пытался ❗ понизили WebDriver -manager к предыдущей версии (2.36 и 2.35): обновлению WebDriver-менеджер --standalone ложного --gecko ложных --versions.chrome 2,36 ❗ Проверенного код прошел испытания перед (доказанным сервером CI) к новому репо клонировать на другой машине. ❗ Пониженный браузер Google Chrome к предыдущей версии Версия 64.0.3282.140 (Официальная сборка) (64-разрядная версия). ❗ Модернизированных всех пакетов НПХ в приложении к последней и самой лучшей версии (см package.json ниже). Проблема все еще сохраняется. Интересно, что код аутентификации работает (один из protractor.conf.js). Это транспортир код, который не может позже ... Исходный код e2e-верстак-page.e2e-spec.ts импорт {E2EWorkbenchPageWrapper} от «./dom-wrappers/e2e-workbench-page.wrapper»; импорт {страница} из './dom-wrappers/page'; описывают ( 'повторно используемый компонент Workbench', функция () {пусть workbenchPage: E2EWorkbenchPageWrapper; beforeAll (() => {workbenchPage = новый E2EWorkbenchPageWrapper (); workbenchPage.navigateTo ();}); afterEach (() => Page.standardAfterEach ( )); подходит ( `наиважнейшее ненулевое значение с нулевым значением не должен стереть ввод-номер field`, () => {Ожидать (workbenchPage.inputNumber1.text) .toBe ( '', 'Введите номер должен быть пустым, по умолчанию'); workbenchPage.inputNumber1.setText ( '8'); workbenchPage.inputNumber1.setText ( '0'); ожидать (workbenchPage.inputNumber1.text) .toBe ( «0,0000», «Введите номер должен иметь правильно отформатированный значение.»); }); }); э2э-верстак-page.wrapper.ts импорт {обещание, как wdpromise} от 'селена-WebDriver'; импорт {InputNumberWrapper} от './input-number.wrapper'; импорт {страница} из './page'; экспорт класса E2EWorkbenchPageWrapper {navigateTo (): wdpromise.Promise {вернуться Page.navigateToRelativeAngularRoute ( 'e2e-верстак'); } Получить inputNumber1 (): InputNumberWrapper {возвратить новый InputNumberWrapper (стр. getInputById ( 'inputNumber1')); }} Ввода-number.wrapper.ts импорта {путем, ElementFinder} от 'транспортира'; импорт {Перспективны wdpromise} от «селеном WebDriver»; импорт {страница} из './page'; экспорт класс InputNumberWrapper {конструктор (частный _elementFinder: ElementFinder) {} получить текст (): wdpromise.Promise {вернуться Page.getInputText (this.inputElementFinder); } SetText (текст: строка): wdpromise.Promise {вернуть Page.setInputText (this.inputElementFinder, текст); } Фокус (): wdpromise.Promise {вернуться Page.focusOnNonButtonElement (this.inputElementFinder); } Частный прибудут inputElementFinder ():. ElementFinder {вернуть this._elementFinder.all ( 'форма контроля' by.css ()) получает (0);
Igor Soloydenko
1

голосов
1

ответ
129

Просмотры

почему нам нужно запустить селен автономный сервер для webdriverjs тестов?

с селеном документов https://www.seleniumhq.org/docs/03_webdriver.jsp#webdriver-and-the-selenium-server нам не нужно, чтобы запустить селен-сервер, если мы используем WebDriver, но почти вся JavaScript рамки автоматизации необходимо селен-сервер должен быть запущен перед запуском тестов. почему нам нужно запустить селен автономный сервер для webdriverjs тестов?
mahesh
1

голосов
0

ответ
218

Просмотры

Угловой 2 App - Отладка транспортир код

Есть ли на самом деле Кто-нибудь знает, как отлаживать код транспортир для угловой 2 приложения? У меня есть НАЯ версия 8 установлена ​​и «browser.pause ()» функция теперь была удалена в этой версии. Видимо, мне нужно использовать «отладчик». Я пытался добавить «отладчик;» в мой код, но когда мой код достиг этого раздела в коде он просто проходит прямо через него, не отрываясь. Я проводил дни, пытаясь найти документацию по этому вопросу, но все, кажется, либо связаны с angularJS или плоскости яваскрипта приложения. Пожалуйста, кто-то может закончить свое горе и скажите мне, как отлаживать угловой 2 транспортира код тестирования e2e?
ED209
1

голосов
1

ответ
38

Просмотры

Проверьте динамический URL в транспортира

Я написал тестовый код транспортир, который будет тянуть URL блога. Каждый раз, когда новый пост в блоге, последний URL будет обновляться и будет отображаться на сайте. Я хочу, чтобы проверить, является ли URL-адрес возвращается 404 или 200. Если 404 идет, испытание будет провалено. Ниже мой код описывают ( 'Запись в вики, как', функция () {browser.waitForAngularEnabled (ложь); browser.sleep (1000), он ( 'тест от сообщества', функция () {browser.get ( 'https: / /www.debtconsolidationcare.com/ '); browser.sleep (5000); вар knowhowimg = элемент (by.id (' knowhowimg ')) GetAttribute ( "SRC"), а затем (функция (значение.) {console.log (. значение); // хочет проверить, если это возвращает 200 browser.sleep (5000);});. вар knowhowimghref = элемент (by.id ( 'knowhowimghref')) GetAttribute ( "HREF"). затем (функция (значение) {console.log (значение); // хотим проверить, если это возвращает 200 browser.sleep (5000);}); вар knowhowheadhref = элемент (by.id ( 'knowhowheadhref')) GetAttribute ( "HREF"), а затем (функция (значение) {console.log (значение);.. // хотим проверить, если это возвращает 200 browser.sleep (5000 ). те, 3 console.log возвращает правильное URL Я хочу, чтобы проверить эти 3 URLs, что приходит в console.log
Souvik Das
1

голосов
1

ответ
530

Просмотры

Лучший способ проверить это элемент видимым транспортир

Кто-нибудь знает, что лучший способ проверить, не является элементом видимым или нет с транспортиром? . Я делаю что-то вроде этого: element.isPresent (), затем (результат => {ожидать (результат) .toBeFalsy ();}); Он отлично работает. Но я wolud хотел проверить, является элемент видимым. . Если я использую: element.isDisplayed () затем (результат => {ожидать (результат) .toBeFalsy ();}); Метод не isDisplayed возвращение Ошибка: Нет элемент найден с помощью локатора Как проверить, элемент не отображается на странице?
Jonny
1

голосов
0

ответ
30

Просмотры

не driver.findElement работы с сафари, но отлично работает с хромом и светлячок

Так, имеющий странные проблемы с функциональностью сафари .. она принимает меня пару шагов, чтобы достичь этой точки, но когда я нахожусь здесь, я могу использовать такой код: ждать $$ ( 'а.) Рассчитывать ();. Это возвращает количество, но к сожалению, такой код: ждать driver.findElement (by.css () «добавить».) Нажмите ();. Похоже, что элемент () или element.all () на основе функции работают отлично на сафари, но driver.findElement () функции коллапса. Я попытался несколько ждет, чтобы убедиться, что страница загружается до этого выполняется, но все напрасно. Этот кусок кода работает отлично на сафари и хром. Любая помощь будет высоко ценится, спасибо! :)
leedz
1

голосов
1

ответ
622

Просмотры

. Browser.driver.manage () окно () максимального (). не работает

. Browser.driver.manage () окно () максимального (). не работает в моем файле, это дает в error- Тип ошибки: Не удается прочитать свойство «управлять» неопределенной OnPrepare:.. функция () {browser.driver.manage () окно () увеличить (); }
Snake eyes
1

голосов
0

ответ
107

Просмотры

Ионные 3 + транспортир триггер салфетки жест (e2e тесты должны выполняться в браузере Chrome или на устройстве через Appium ??)

Я очень новый для написания тестов E2e с помощью транспортира для Ионных приложений, которые включают запускающие жесты, как Размах на делах. Ниже приведены мои вопросы 1) Как мы можем вызвать Размах (влево или вправо) жест на DIV, так что он может быть развернут или свернут горизонтально ?? 2) Может ли такой тест транспортир выполнить в браузере Chrome на настольном компьютере или должны быть выполнены через Appium на реальном устройстве ?? 3) Можете ли вы предоставить мне фрагменты кода, которые помогут мне понять, как это сделать или как поступить с ним? Я не могу найти какую-либо вещь в Интернете. Я попробовал этот пост красть и нажмите на кнопку транспортир Но это просто не работает для меня и я не получаю какие-либо ошибки или эффект от него.
1

голосов
2

ответ
866

Просмотры

Как распечатать список элементов на консоль с транспортиром

I'm new to Stack Overflow. In my application I have to create a group and verify the group is created or not by searching the group in the list. If the group is in list, I have to open the chat box of that group. All this scenario should be automated using protractor. I'm new to protractor so could you please provide an explanation with the answer Trying to loop through group names to check if created. Tried simply printing group names in console, but still unsuccessful. Attempt in protractor to print group text: this.getElements = function(){ element.all(by.css('some text')).getText().then(function(text){ console.log(text); }); }; HTML Snippet: myGrpW 2 Members Admin newWWW 3 Members Admin AutoWa 3 Members Admin
ShaikShafiullah
1

голосов
1

ответ
188

Просмотры

Селен Сетка с транспортиром: SessionNotCreatedError в Object.checkLegacyResponse

Я новичок в Selenium Grid, и я пытаюсь выполнить тест транспортир на удаленном узле. Я использую виртуальную машину в качестве концентратора, узел моей локальной машины, которая также является клиентом. Оба узла и узла и работает в. Я установил свойство seleniumAddress правильно в файле conf.js. Так что теперь, когда я исполняю мой тест, запустив транспортир conf.js, я получаю эту ошибку: E / пусковой - SessionNotCreatedError: Невозможно создать новую услугу: ChromeDriverService Строить информацию: версию: «3.12.0», редакция: «7c6e0b3» , время: '2018-05- 08T15: 15: 08.936Z' Информация о системе: хозяин: 'имя хоста', ф: 'ф-адрес', os.name: 'Windows 7', os.arch: 'amd64' , os.version: '6,1', java.version: '1.8.0_171' Информация драйвера: driver.version: неизвестен на объекте. checkLegacyResponse Я понятия не имею, почему я получаю эту ошибку. Я попытался это исправить, запустив: WebDriver-менеджер чистого обновления WebDriver-менеджер, но это не помогло.
yosrO
1

голосов
1

ответ
702

Просмотры

Ошибка: Не удается найти модуль «транспортир-множественного огуречный-HTML-репортер-плагин»

Я пишу тесты E2e с помощью транспортира интегрирован с огурцами. Я хотел, чтобы иметь возможность создавать отчеты HTML для моих тестов, так что я решил использовать следующий плагин: https://www.npmjs.com/package/protractor-multiple-cucumber-html-reporter-plugin Я установил его как в описании, также добавлены необходимые параметры для моего транспортира conf.js файла: плагины: [{пакет: 'транспортир-множественным огурца HTML-репортер-плагин', опции: {automaticallyGenerateReport: правда, removeExistingJsonReportFile: истинно}}] Однако, когда я запускаю свои тесты, я получаю эту ошибку: не удается найти модуль «транспортир-множественным огурца HTML-репортер-плагин» Я проверил и транспортир-множественным огурца HTML-репортер-плагин присутствует в моей node- папки модулей. Когда я закомментировать код выше, тест проходит без ошибок. Моя транспортир версия 5.3.2, транспортир-огурец рамка версия: 5.0.0 и транспортир-множественным огурец HTML-репортер-плагин версия 1.7.0 Edit: Вот мой полный конфигурационный файл: exports.config = {DirectConnect: правда, возможности: { 'browserName': 'хром', 'chromeOptions': {}}, функции: [ 'функции / ** / home.feature'], рамочные: 'заказные', frameworkPath: require.resolve ( 'транспортир -cucumber-основа '), cucumberOpts: {требуется: [' данные / test_spec.js'], формат: 'JSON: results.json',}, OnPrepare: функция () {browser.ignoreSynchronisation = TRUE; browser.manage () времени ожидания () implicitlyWait (30000)..; . Browser.manage () окно () максимального (). }, Params: {имя пользователя: 'Администратор', пароль: 'Пароль'}, плагины: [{пакет: '
mariobrosbb
1

голосов
0

ответ
20

Просмотры

не в состоянии прочитать весь местный / sessionstorage от транспортира

Я пытаюсь прочитать всю память от тестового транспортира случаев, но она возвращает нуль. Я могу читать отдельные ключи, но не все хранения. Я также в состоянии сделать это из внешних тестовых случаев транспортира (регулярный Javascript кода). вар getLocalStorage = функция () {вернуть browser.executeScript ( "возвращение window.localStorage;"); };
user911
1

голосов
0

ответ
188

Просмотры

У нас есть тест исследователь в VS код для транспортир машинопись?

Я работаю в рамках транспортир Jasmine в узле JS. У нас есть тест исследователь или любой плагин, который перечисляет все ККТ в спецификации-ts-файлы проекта? Так что мы можем выполнить тест непосредственно из тестового exlporer? У нас есть тестовый проводник в Visual Studio. Точно так же он доступен в VS код? Заранее спасибо
simond
1

голосов
1

ответ
277

Просмотры

второй вызов browser.getAllWindowHandles вызывая ошибку

waitForAngular (); // курсор мыши выбранный элемент browser.actions DataRow () MouseMove (createPage.dataRow.get (3)) выполняют ()..; // Сделать снимок страницы browser.takeScreenshot () затем (функция (JPG) {writeScreenShot (JPG, 'xxx.jpg');}). // Найти элемент, мы хотим (XXX) и щелкните createPage.dataRow.get (3) .click (); // Убедитесь, что страница загружается перед тем скриншот происходит browser.waitForAngular (); // Сделать снимок страницы browser.takeScreenshot () затем (функция (JPG) {writeScreenShot (JPG, 'xxx.jpg');}). // курсор мыши выбранный элемент browser.actions DataRow () MouseMove (createPage.statusDiv.get (0)) выполняют ()..; // Спать браузер, чтобы дать Popup шанс показать browser.sleep (2000); // Сделать снимок страницы browser.takeScreenshot () затем (функция (JPG) {writeScreenShot (JPG, 'xxx.jpg');}). // курсор мыши кнопочного элемента browser.actions () MouseMove (createPage.printPrescriber) .Запустите (). // Сделать снимок страницы browser.takeScreenshot () затем (функция (JPG) {writeScreenShot (JPG, 'xxx.jpg');}). // Нажмите на кнопку, чтобы получить createPage.printPrescriber.click отчета (); // Переключитесь сообщить окно и скриншоте // Сон браузер в течение нескольких секунд, чтобы дать ему время, чтобы OpenUP новое окно / вкладку browser.sleep (5000); // Мы должны переключиться на новое окно, так что первый захватить оконные ручки ... browser.getAllWindowHandles (). Затем (функция (ручки) {// а затем захватить наши ручки ... вар MainWindowHandle нового окна = ручку [ 0]; // это главное окно вар newWindowHandle = ручка [1];. // это ваше новое окно // затем переключиться на него browser.switchTo () окно (newWindowHandle).. printHistory.click (); // Переключитесь сообщить окно и скриншоте // Сон браузер в течение нескольких секунд, чтобы дать ему время, чтобы OpenUP новое окно / вкладку browser.sleep (12000); // Мы должны переключиться на новое окно, так что первый захватить оконные ручки ... browser.getAllWindowHandles (). Затем (функция (ручки) {// ЭТО ПРОБЛЕМА ЛИНИЯ ГДЕ ПОГИБ // затем захватить наш новый ручка ... вар окна newWindowHandle2 = ручка [2],.. // это ваше новое окно // затем переключиться на него browser.switchTo () окно (newWindowHandle2) .then (функция () {// это следующая строка необходимо, поскольку генерируемая страница не Угловая, и, как таковые, транспортир таймаут ожидание для того, чтобы проверить, как угловая страницу browser.ignoreSynchronization = TRUE; // Сделать снимок страницы browser.takeScreenshot () затем (функция (JPG) {writeScreenShot (JPG, 'xxx.jpg');}). // Просто отправьте правда обратно, так как нет ничего, что мы действительно хотим, чтобы совершить проверку на PDF. Если есть проблема, мы будем иметь его до этого момента. ожидать (правда); }); }); }); }); }); }); Я построил эту понемногу, в основном добавляя каждый кусок, перед каждым скриншоте, убедившись, что он работал, прежде чем перейти к следующей части. Заключительная часть, начиная со второго вызова browser.getAllWindowHandles () разбивает сценарий и генерирует ошибку: Failed: java.net.SocketException: Программное обеспечение вызвало подключение прерывание: RECV не удалось, я увеличил время тайм-аута смешно (как вы можете видеть) , Я закомментировал браузер. близко () в случае, когда это делает. Тем не менее получить его. Когда я смотрю на тестовый прогон, он делает все в порядке и даже щелкает последнюю кнопку, генерируя последний отчет. Это просто хрипит, когда я спрашиваю его, чтобы получить окно ручки, что второй раз. Я даже получить скриншот прямо перед ним. Я Googled широко и даже посмотрел, что ошибка на SO, и я все еще потеряно, почему он делает это. Спасибо! EDIT: Итак, я просто попытался его только второй отчет получать щелкнул. Та же ошибка. Может быть, что второй отчет слишком долго? Очевидно, что-то с вторым докладом (PDF генерируется из динамических данных). Какие вещи могут вызвать эту ошибку в сгенерированном PDF? EDIT 2: Я увеличил browser.wait до 20 секунд и все еще получить ее. Я не думаю, что это вопрос времени. EDIT 3 (7/5): Итак, кажется, что на самом деле может иметь что-то делать с синхронизацией. Новое окно отчета занимает немного, чтобы придумать. Если я сплю 5 секунд, я получаю сообщение об ошибке, что он не может найти ручку, поскольку она еще не существует. Я двигаюсь до 6 секунд, и я получаю SocketException. Будет ли это кандидат, чтобы перейти к использованию browser.wait () вместо этого? Как бы я реализовать его в этом случае?
1

голосов
1

ответ
230

Просмотры

Транспортир: Невозможно обработать окна на основе всплывающего окна для просмотра и загрузки файла с помощью рамки транспортир

Попытка автоматизировать UPLOADING .xml / файлов в формате PDF (Windows, на основе всплывающих окон) из локальной системы на веб-приложения (Angualrjs) с использованием базы транспортира. Сценарий: Браузер приложение в Chrome> Нажмите кнопку загрузки> веб-приложение, всплывающее окно приходит, где в состоянии найти элементы> нажмите кнопку Обзор поля загрузки (Это поле будет отключено, только нажмите событие допускается который открывает окна всплывающие окна для просмотра файлов)> Здесь мы вызов, чтобы просмотреть файл. После нажатия кнопки Обзор выполняется> Всплывающее окно показывает документы место, однако мы хотим, чтобы просмотреть и загрузить файл с рабочего стола или из проекта местоположения. Далее следуют ссылки на другие StackOverflow, как указано ниже, но не в состоянии решить: Как загрузить файл в angularjs Сценарии тестирования e2e транспортира, который мы пытались: iUploadConfigDefinition: (Шпет) => {вар absolutePath = путь. разрешить (__ имя_директории, SPATH); uploadInput.sendKeys (absolutePath); } Вот не знаю, что должно быть «uploadInput» элемент локатора и как распознать / извлечь кнопки Открыть окна всплывающего окна. Пожалуйста, руководство. Прикрепленный экран для справки. введите описание изображения здесь
1

голосов
1

ответ
43

Просмотры

Не могу получить URL нового окна страницы, открытой одним нажатием на кнопку

Не могу получить URL нового окна страницы, открытой одним нажатием на кнопку. он ( 'Start тест', () => {element.all (by.buttonText ( 'Launch Test')) нажмите (), а затем (функция () {browser.sleep (2000),.. browser.switchTo (). . окно ( 'Test'); console.log ( 'URL' + browser.getCurrentUrl ()); ожидать (browser.getCurrentUrl ()) Тобе ( 'https: // локальный: 44323 / # / тест / запустить / test_id' );});}); Этот код всегда возвращает URL текущей страницы не новой страницы окна. не удалось: нет такого окна (информация о сессии: хром = 67.0.3396.99) (информация Driver: chromedriver = 2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab), платформа = Windows NT 10.0.17134 x86_64) Sugestions?
1

голосов
0

ответ
14

Просмотры

TeamCity больше не работает тест Транспортир / Jasmine через Gulp

Если бы успешный тестовый пакет работает под TeamCity (транспортир / Jasmine / JS). Однако мы не теперь уже в состоянии выйти за пределы первой сборки шага НПМ установки После попытки запуска тестов, очень быстро, строить шаг два терпит неудачу. Это gulpfile.js вара глоток = требуется ( «глотка»); вар gulpProtractorAngular = требуется ( "проглатывать-угловой-транспортир"); gulp.task ( "RunTest", обратный вызов => {глотка .src ([ "SmokeTest.js"]) .pipe (gulpProtractorAngular ({CONFIGFILE: "SmokeTest.js", отладки: ложный, autoStartStopServer: истинно})) .on ( "ошибка", е => {console.log (е);}) .on ( "конец", обратный вызов);}); Единственное изменение между рабочим состоянием и сейчас является то, что мы добавили еще несколько спецификаций. Целый набор работает нормально локально. Я' Ве скачали бревенчатые от успешного запуска и неудача единственного отличия - помимо уведомления об ошибке, этом сообщение: [Шаг 2/3] [Шаг 2/3] [17:31:06] следующие задачи сделали не полный: RunTest [Шаг 2/3] [17:31:06] вы забыли сигнализировать о завершении асинхронного? Таким образом, gulpfile.js может быть виновником, но я не понимаю, почему или как сделать изменения, чтобы исправить! Помогите, пожалуйста!
David
1

голосов
2

ответ
36

Просмотры

Транспортир + Жасмин + TS. Типизации вопрос: ыход возвращение ничтожным. Как использовать XIT (). ПЭНД (причина)

Я использую транспортир + жасмин на машинописи для E2e испытаний. И у меня есть вопрос, пытаясь реализовать некоторые пробный запуск по тэгам см код ниже: Функция TestCase (описание: струнный, testSteps: (сделано ?: DoneFn) => недействительные, теги ?: ReadonlyArray): недействительный {константного specTagsList: ReadonlyArray = теги || []; Const tagsToRun: ReadonlyArray = browser.params.tags.split ( ''); если (tagsToRun.length === 0 || specTagsList.some (тэг => tagsToRun.indexOf (тэг)> = 0)) {это (описание, testSteps); } Еще {хи (описание, testSteps) .pend ( `specTagsList: \ т $ {specTagsList} \ ntagsToRun: \ т $ {browser.params.tags}`); }}, К сожалению, в типизации XIT заявил недействительным тип возврата: объявить функцию XIT (ожидание: строка, утверждение ?: (сделано: DoneFn) => недействительным, тайм-аут ?: число): недействительным; поэтому я не могу использовать .pend ( «разум»
Alex Cap
1

голосов
0

ответ
166

Просмотры

Запуск хром с расширением с помощью транспортира

Я пытаюсь запустить браузер Chrome с расширением «Modheader» с помощью транспортира, используя следующий в моем conf.js chromeOptions: {арга: [ «--load-расширение = C: /Utilities/extension_2_2_4_0.crx»], Но запустить тест, я получаю следующее сообщение об ошибке: Не удалось загрузить расширение из ..... Manifest файл отсутствует или нечитаемым есть ли способ запустить браузер с расширением уже установлен или есть ли способ, чтобы обеспечить заголовок с URL, используя транспортир BaseUrl = www.abc.com Header = 'имя': 'TestUser'
CodeJockey
1

голосов
2

ответ
130

Просмотры

Скриншот не прилагается доклад, но доступны на скриншоте «Allure-результаты» папки или отказа Спецификации

В Allure репортеров [с транспортир], скриншот которого принимаются только в конце теста. Благодаря чему скриншот, который показывает в отчетах Allure имеют страницы входа только и не приложения после входа в систему пользователя. Вот код, я использую для создания Allure отчетов. allureReporterSetup: функция () {Const = AllureReporter требуется ( 'жасмин-Allure-репортер'); . Jasmine.getEnv () addReporter (новый AllureReporter ({resultsDir: 'Allure-результаты'})); jasmine.getEnv (). afterEach (функция (сделано) {browser.takeScreenshot (). Затем (функция (PNG) {allure.createAttachment ( 'Скриншот', функция () {возвратить новый буфер (PNG, 'base64')}, 'изображение / PNG') (); сделано ();})}); },
AQA
1

голосов
0

ответ
57

Просмотры

Выполнение файла фляги из транспортира

Я пытаюсь выполнить команду «Java -jar mytest.jar» с помощью child_process в моей спецификации файла транспортира. Код становится казнен, но ничего не происходит. При успешном выполнении это создаст новый файл. Pls помочь мне решить эту проблему. Ниже мой код:. Его ( 'выполнить Jar', () => {пусть Exec = требуется ( 'child_process') Exec; Const ребенок = Exec ( "ява -jar mytest.jar" (ошибка, стандартный вывод, STDERR) => {если (ошибка) {console.error ( 'Exec ошибка: $ {ошибка}'); возвращение;} console.log ( 'стандартный вывод: $ {стандартный вывод}'); console.log ( 'Stderr: $ {STDERR } ');});}); Узел код, который выполняется и возвращается, как ожидается, пусть Exec = требуется ( «») child_process EXEC.; пусть childprocess = Exec ( "Java -jar mytest.jar", Функция (ERR, стандартный вывод, STDERR) {если (ERR) {console.log (ERR); } Console.log (стандартный вывод); });
rocky
1

голосов
0

ответ
139

Просмотры

Ошибка тайм-аута в транспортир при работе в пакетном режиме, но работает отлично при запуске его в индивидуальном порядке?

Я настраиваю тестирование e2e с транспортир и Угловой. Здесь я пишу 3 случая тестирования в люксе. Когда есть только 2 он работает нормально. Все, что больше, чем, что она не с тайм-аут ошибки. Я даже пытался реализации функции обратного вызова «сделано», но не может решить. Странная вещь Если я переставить тест-кейсы в порядке, все 3 тестовых случаев проходит. Например см ниже код. app.po.ts импорт {браузер, с помощью, элемент} от «» транспортира; экспорт класса TestEngine {navigateTo () {browser.get ( '/'); вар сценарий = "window.localStorage.setItem ( 'isAccepted', 'истина')"; вернуться browser.executeScript (сценарий); } GetParagraphText () {возвратный элемент (by.css ( 'страниц Добро пожаловать р')) GetText (). } GetButtons () {возвратный элемент (by.buttonText ( 'Войти')). GetText (); } GetButtonsClick () {вернуть browser.actions () MouseMove (элемент (by.tagName ( 'B'))) нажмите ()..; }} Тест-e2e.spec.ts импорт {TestEngine} от './app.po'; описать ( 'Test Engine App', () => {пусть Страница: TestEngine; beforeEach (функция (сделано) {SetTimeout (функция () {страница = новый TestEngine (); сделано ();}, 1);}); . // 1 Promise включил его ( 'должен отображать вопрос для Validation', функция (сделано) {page.navigateTo (); page.getParagraphText () .then ((текст) => {ожидать (текст) .toEqual (» Хотите проверить двигатель? «); сделано ();});}); // 2. Обещание включил его (» должна отображать кнопку, которая используется для Validation», Функция (сделано) {page.navigateTo (); page.getButtons (). то ((текст) => {ожидать (текст) .toEqual ( 'Вход'); сделано ();}); }); // 3. Обещание не включил его ( 'следует нажать на кнопку, которая используется для входа в систему', функция (сделано) {page.navigateTo (); page.getButtonsClick () сделано ();}); }); Сценарий, когда тестовые примеры 1,2,3 находятся в нем выше выдает ошибку о том, испытания двигателя App √ должен отображать вопрос для санкционирования √ должен отображать кнопку, которая используется для санкционирования × следует нажать на кнопку, которая используется для входа в систему - Ошибка: тайм-аут (информация Session: хром = 69.0.3497.100) (информация Driver: chromedriver = 2.41.578737 (49da6702b16031c40d6xgret43e5618de0x3a32ff6c19xx7e), Платформа = Windows NT 10.0.16299 x86_64) (информация о сессии: хром = 69.0.3497.100) (Driver информация: chromedriver = 2.41.578737 (49da6702b16031c40d6xgret43e5618de0x3a32ff6c19xx7e), платформа = Windows NT 10.0.16299 x86_64) От асинхронного теста: Ошибка при Suite. (D: \ ИСПЫТАНИЯ КЛОН \ э2э \ э2э \ test.e2e-spec.ts: 33: 3) на объекте. (D: \ ИСПЫТАНИЯ КЛОН \ э2э \ э2э \ test.e2e-spec.ts: 5: 1) при Module._compile (module.js: 649: 30) при Module.m._compile (D: \ VSTS ТЕСТИРОВАНИЯ CLONE \ э2э \ node_modules \ TS-узел \ SRC \ index.ts: 439: 23) Module._extensions..js (module.js: 660:. 10) в Object.require.extensions (анонимной функции) [в качестве .ts] (d: \ ИСПЫТАНИЯ КЛОН \ э2э \ node_modules \ TS-узел \ SRC \ index.ts: 442: 12) ************************************************ ** * Сбои * ********************************************* ***** 1) Test Engine App следует нажать на кнопку, которая используется для входа в систему - Failed: тайм-аут (информация Session: хром = 69.0.3497.100) (Информация о Driver: chromedriver = 2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e), платформа = Windows, НТ 10.0.16299 x86_64) Выполненный 3 из 3 спецификации (1 FAILED) в течение 5 мин 17 сек. [16:56:48] Я / пусковая - 0 экземпляр (ы) WebDriver все еще работает [16:56:48] Я / пусковая - хром # 01 не удалось 1 тест (ы) [16:56:48] I / запуска - в целом: 1 не удались спецификация (ы) [16:56:48] E / пусковой - Процесс завершился с кодом ошибки 1 Но если я запускаю все-отдельно с помощью нужных или ыхода каждого сценарий проходит, а также, если я запустить его в порядке 1-> 3-> 2 путем замены 3-й TestCase с 2-го, то все проходит в пакетном режиме. Что я делаю неправильно здесь? Это что-то с помощью функции обратно вызова сделано (); Размещается она в нужном месте? Потому что в этом файле спецификации я планирую иметь больше чем 100 тестовых случаев. Все будет включать в себя обещание, связанное.
Vignesh Moorthy
1

голосов
0

ответ
101

Просмотры

Угловое транспортира не обнаруживает вынесенный компонент тега

Я хочу, чтобы проверить, если мой app.component.htm имеет тег HTML теги диаграммы, необходимые для визуализации мой chartComponent. // app.e2e-spec.ts импорт {AppPage} от './app.po'; импорта {с, элемент} от «» транспортира; описывают ( 'App', () => {пусть страницу: AppPage; beforeEach (() => {страница = новый AppPage ();}); он ( 'должен иметь элемент диаграммы', () => {стр. navigateTo (); Const эль = элемент (by.css ( 'графики')); ожидать (elem.isPresent ()) toBeTruthy ();.});}); Тогда компонента: // app.component.html всегда терпит неудачу с - Ошибка: тайм-аут сценария: результат не был получен в 11 секунд Что случилось с ним? Элемент диаграммы визуализируется как ожидается, в браузере.
TetraDev
1

голосов
0

ответ
33

Просмотры

Как мы можем сделать распределенное выполнение теста с селеном сеткой в ​​транспортира

Как мы можем сделать распределенное выполнение теста с селеном сеткой в ​​транспортире, так что каждый экземпляр браузера должны выполнить другую tests.Also, как мы можем передать параметры к различным узлам (рассмотрят один экземпляр браузера работает в каждом из узлов), так что отождествление этих параметров в каждом узле он должен выполнять разными tests.How мы можем это сделать? заранее спасибо
Mathews Mathew
1

голосов
0

ответ
37

Просмотры

Угломеры тесты перерыв при добавлении комментариев

Некоторые тесты транспортир ломаются, когда я включаю заявление комментария рядом с ними или .Затем (() => console.log ( «привет»)) рядом с обещанием элемента. Работает: menuIcon.click (), а затем (функция () {ожидать (isWorking) .toBeTruthy ();});. Не работает: menuIcon.click (), а затем (функция () {ожидать (isWorking) .toBeTruthy ();}), то (() => console.log ( 'Проверенный меню работает'); Ошибка:.. Failed : затхлый опорный элемент: элемент не прикреплен к странице документа Однако, используя другой текст для комментария делает эту работу, такие как:. menuIcon.click (), а затем (функция () {ожидать (isWorking) .toBeTruthy ();}) .then (() => console.log ( 'комментарий');?. Почему это могло бы быть без них всегда проходит спасибо :)
Isabella
1

голосов
1

ответ
95

Просмотры

Сохранить отчет в базу данных после выполнения теста транспортир

Я очень новый в угловом тестирования транспортир. Я создаю несколько тестов, на основе структуры транспортира с жасмин бегуном BDD стилем. В одном классе теста у меня есть 10 до 12 спецификации с одним ожиданием для каждой спецификации. Теперь, я бег этого теста в селене сервере напрямую. Но сейчас я планирую сохранить этот тестовый случай в базу данных. Например, создавая таблицу для испытаний, какой столбец должен включать номер теста, название теста, функцию, выход из строя или прошло и т.д. Я объясняющий с кодом. Это один единственный класс с 10 спецификации описывают ('03 проверки всех параметров отчетов пользователя, функция () {// 1. ( „Войти на страницу“, асинхронной () => {ждут loginIntoPage (URL, имя пользователя, пароль) ; ожидают ожидать (notification.isDisplayed ());}); // 2. ( 'Перейдите на страницу пользователя', асинхр () => {AWAIT button.click (userPage); ОЖИДАНИЕ ожидать (pageTitleUserPage.getText ()) Тобе ( 'User'). }); // 3. ( 'нажмите на кнопку активного', асинхр () => {AWAIT button.click (activeButton); AWAIT ожидать (notification.isDisplayed ());}); // 4. ( 'ежедневно выбрана опция', асинхронной () => {AWAIT button.click (dailyOption) ждут ожидать (dailyOption.isEnabled) .toBeTruthy ();}); // 5. ( 'Генерация отчетов выбрана', асинхронный () => {ждет button.click (reportGeneration); ожидает ожидать (reportGeneration.isEnabled) .toBeTruthy ();}); // 6. ( 'язык отчета выбран', функция асинхронной () {AWAIT button.click (languageDropdown) ждут languageDropdown.isDisplayed ();}); // 7. ( 'выбран английский язык', функция асинхронной () {AWAIT button.click (английский); AWAIT ожидать (languageDropdown.getText ()). toContain ( 'английский'); }); // 8. ( 'отображается период времени', функции асинхронной () {ждут button.click (TimePeriod) ждут timePeriod.isDisplayed ();}); // 9. ( 'час выбран', асинхронная функция () {ждут button.click (час) ждет timePeriod.isDisplayed ();}); // 10. ( 'Сохранить все редактирования отображаются', функция асинхронной () {AWAIT button.click (за исключение), ЖДЕТ ожидать (notification.isDisplayed ()) Тоба (истина),.}); }) Выходной отчет следующим образом Started Выполнение 10 определенных спецификаций ... Test Suites & характеристики: 1. 03 Проверки все отчета пользователя настроек √ логина на странице (12291ms) √ Перейдите на страницу пользователя (743ms) √ нажмите на активную кнопку выбора (464ms) √ ежедневно опция выбрана (505ms) √ Генерация отчетов (513ms) √ язык отчета выбран (543ms) √ выбран английский отображается (478ms) √ период времени (464ms) √ час выбран (418ms) √ Сохранить отображается все редактирования (1162ms) 10 спецификации, 0 неудачи Законченный в 17.6 секунд >> Готово! Резюме: апартаменты: 1 из 1 Спецификации: 10 10 ожидает: 5 (0) Готовые неудачи в 17,6 секунд [11:01:35] Я / пусковая - 0 экземпляр (ы) WebDriver все еще работает [11:01:35] I / пусковая - хром # 01 прошел мой конфигурационный файл вар SpecReporter = требуется ( 'жасмин-SPEC-репортер'); Const JasmineConsoleReporter = требуется ( 'жасмин-консольную-репортер'); Const репортер = новый JasmineConsoleReporter ({цвета: 1, // (0 | ложь) | (1 | ИСТИНА) | 2 cleanStack: 1, // (0 | ложь) | (1 | верно) | 2 | 3 подробность: 4 , // (0 | ложно) | 1 | 2 | (3 | истина) | 4 | listStyle объекта: 'отступа', // "плоский" | "отступ" TimeUnit: 'мс', // "MS" |» нс "|" s "timeThreshold: {ки: 500, предупреждает: 1000, Уче: 3000}, // Объект | Номер деятельность: ложь, // булевой или строка ( "точка" | "звезда" | "флип" |" bouncingBar "| ...) смайлики: правда, звуковой сигнал: истинный}); exports.config = {allScriptsTimeout: 110000000, функции: [ '... ** / 03 * .e2e-spec.ts',], multiCapabilities: [{ 'browserName': 'хром', 'chromeOptions': {' Args ': [' --disable-расширения]}, 'shardTestFiles': true 'MaxInstances': 1}], seleniumAddress: 'HTTP: // ...: 14444 / WD / хаб', BaseUrl: ....... .., основа: 'жасмин', jasmineNodeOpts: {isVerbose: правда, showColors: правда, defaultTimeoutInterval: 50000000}, useAllAngular2AppRoots: верно, beforeLaunch: функция () {}, OnPrepare: функция () {требуется ( 'TS-узла' ) .register ({проект: 'э2э'}); . Jasmine.getEnv () addReporter (репортер); }}; Теперь мой вопрос, что это лучший способ сохранить этот отчет в базу данных с помощью таблицы. У меня нет предыдущей идеи по этому поводу. Http: // ...: 14444 / WD / хаб», BaseUrl: ........., основа: 'жасмин', jasmineNodeOpts: {isVerbose: правда, showColors: правда, defaultTimeoutInterval: 50000000}, useAllAngular2AppRoots : правда, beforeLaunch: функция () {}, OnPrepare: функция () {требуется ( 'TS-узел') регистре ({проект: 'э2э'}). . Jasmine.getEnv () addReporter (репортер); }}; Теперь мой вопрос, что это лучший способ сохранить этот отчет в базу данных с помощью таблицы. У меня нет предыдущей идеи по этому поводу. Http: // ...: 14444 / WD / хаб», BaseUrl: ........., основа: 'жасмин', jasmineNodeOpts: {isVerbose: правда, showColors: правда, defaultTimeoutInterval: 50000000}, useAllAngular2AppRoots : правда, beforeLaunch: функция () {}, OnPrepare: функция () {требуется ( 'TS-узел') регистре ({проект: 'э2э'}). . Jasmine.getEnv () addReporter (репортер); }}; Теперь мой вопрос, что это лучший способ сохранить этот отчет в базу данных с помощью таблицы. У меня нет предыдущей идеи по этому поводу. . Функция () {}, OnPrepare: функция () {требуется ( 'TS-узел') регистр ({проекта: 'e2e'}); . Jasmine.getEnv () addReporter (репортер); }}; Теперь мой вопрос, что это лучший способ сохранить этот отчет в базу данных с помощью таблицы. У меня нет предыдущей идеи по этому поводу. . Функция () {}, OnPrepare: функция () {требуется ( 'TS-узел') регистр ({проекта: 'e2e'}); . Jasmine.getEnv () addReporter (репортер); }}; Теперь мой вопрос, что это лучший способ сохранить этот отчет в базу данных с помощью таблицы. У меня нет предыдущей идеи по этому поводу.
TechoTek
1

голосов
1

ответ
174

Просмотры

ConnectionError: Connection lost - read ECONNRESET in protractor

Я использую транспортир 52,2 и огурец 3.2.2. Я использую селен сетку (Селен-сервер автономного-3.14.0.jar) с транспортиром и работаю мой сценарий в 4-браузерах 4 различных узлов. У меня есть таблица 600 строк в БД. Изначально я доступ к данным из этой таблицы и вводить данные каждой строки через мой транспортир сценарий и обновление столбца БД после успешного ввода каждой строки. Но после ввода нескольких строк успешно, транспортир скрипт обрывается с ошибкой «ConnectionError: Соединение потеряно - читать ECONNRESET в транспортир» .И я получаю сообщение об ошибке в обновление SQL запроса, что «RequestError: Resource ID: 1. Предельный запрос база данных 60 и были достигнуты. См «http://go.microsoft.com/fwlink/?LinkId=267637» за помощь.» Запрос на обновление, которое я использую приводится ниже (я использую лазурное SQL). Я не получаю четкое представление о том, как решить эту проблему. Заранее спасибо. вар Connection = требуется ( 'утомительной') соединение. вар Request = требуется ( '') утомительной запрос. вар конфиг = {имя_пользователя: 'ххх', пароль: 'ххххх', Сервер: 'XXXXXX', опции: {базы данных: 'ххх', шифровать: правда, rowCollectionOnRequestCompletion: истинно}} соединение вар = новое подключение (конфигурации); defineSupportCode (функция ({setDefaultTimeout, Принимая во внимание, когда, Тогда}) {setDefaultTimeout (30000 * 1000); функция updatedb (LPAID) {Запрос = Новый Запрос ( "UPDATE COM_Location_Post с (ROWLOCK) SET IsPublished = 1 WHERE Id =" + LPAID , функция (ERR, ROWCOUNT, строка) {если (ERR) {консоль. войти (ERR)}}); connection.execSql (запрос); }});
Devleena
1

голосов
0

ответ
44

Просмотры

AngularJS E2E tests errors

Я следую учебник AngularJS нашел https://docs.angularjs.org/tutorial. Все работало отлично до E2E тестов части: работает «НАЯ запустить транспортир», я получаю сообщение об ошибке НОЙ ERR! код ELIFECYCLE Я уже пытался удалить кэш, node_modules и пакетов-lock.json. Полный журнал здесь: https://drive.google.com/file/d/1_gW1ArtS0VbGgHOE2F2X-ncvAxxQ9GDh/view?usp=sharing _____Edition на 10/27/18: полный журнал pasted________ Поскольку некоторые люди не могут открыть журнал, я отправлю его здесь: 0 Информация он работал, если он заканчивается OK 1 многословные кли [ 'C: \\ Program Files \\ nodejs \\ node.exe', 1 VERBOSE «CLI C: \\ Program Files \\ nodejs \\ node_modules \\ NPM \\ бен \\ NPM-cli.js', 1 VERBOSE CLI 'бежать', 1 'VERBOSE CLI транспортир'] 2 Информация используя [email protected] 3 данные, используя [email protected] 4 многословным выполнения скрипта [ ' ] 16 глупой Жизненный цикл [email protected]~protractor: Возвращается: Код: 1 сигнал: нулевой 17 Информация Жизненный цикл [email protected]~protractor: Не удалось ехес транспортир сценария 18 многословным стека Ошибка: [email protected] +0,0 транспортира: `транспортир e2e-тесты / protractor.conf.js` 18 многословного стек Выход состояние-18 многословным стек на EventEmitter. (C: \ Program Files \ nodejs \ node_modules \ НПМ \ node_modules \ НПМ жизненный цикл \ index.js: 285: 16) 18 многословным стек на emitTwo (events.js: 126: 13) 18 многословным стек на EventEmitter.emit (события .js: 214: 7) 18 многословным стека на ChildProcess. (C: \ Program Files \ nodejs \ node_modules \ НПМ \ node_modules \ НПМ жизненный цикл \ Lib \ spawn.js: 55: 14) 18 многословным стек на emitTwo (events.js: 126: 13) 18 многословным стек на ChildProcess.emit (events.js: 214: 7) 18 многословным стек на maybeClose (внутренний / child_process.js: 925: 16) 18 многословным стека на Process.ChildProcess._handle.onexit (внутренние / child_process.js: 209: 5) 19 многословным pkgid [email protected] 20 многословным CWD C: \ Users \ Новичок \ Desktop \ угловой js- учебник \ угловой phonecat 21 многословным Windows_NT 6.1.7601 22 многословным ARGV "C: \\ Program Files \\ nodejs \\ node.exe" «C: \\ Program Files \\ nodejs \\ node_modules \\ НПМ \\ Bin \ \ NPM-cli.js» "запустить" "транспортир" 23 многословным узел v8.9.4 24 многословным НПМ v5.6.0 25 код ошибки ELIFECYCLE 26 ошибка ERRNO 1 27 ошибка [email protected] транспортир:` транспортир e2e-тесты / protractor.conf.js` 27 ошибка состояния Выход 1 28 ошибка ошибка при [email protected] транспортир сценария. 28 Ошибка Вероятно, это не проблема с НПМ. Существует вероятность дополнительный выход каротаж выше. 29 многословным выход [1, правда] OnExit (внутренние / child_process.js: 209: 5) 19 многословным pkgid [email protected] 20 многословным CWD C: \ Users \ Новичок \ Desktop \ угловой JS-учебник \ угловой phonecat 21 многословным Windows_NT 6.1.7601 22 многословным ARGV "C: \\ Program Files \\ nodejs \\ node.exe" "C: \\ Program Files \\ nodejs \\ node_modules \\ НПМ \\ бен \\ NPM-cli.js" "запустить" «транспортир "23 многословный узел v8.9.4 24 многословного НОГО v5.6.0 25 кода ошибки ELIFECYCLE 26 ошибки ERRNO-27 ошибка [email protected] транспортир:` транспортир e2e-тесты / protractor.conf.js` 27 ошибка состояние выхода-28 ошибка ошибка при [email protected] транспортир сценария. 28 Ошибка Вероятно, это не проблема с НПМ. Существует вероятность дополнительный выход каротаж выше. 29 многословным выход [1, правда] OnExit (внутренние / child_process.js: 209: 5) 19 многословным pkgid [email protected] 20 многословным CWD C: \ Users \ Новичок \ Desktop \ угловой JS-учебник \ угловой phonecat 21 многословным Windows_NT 6.1.7601 22 многословным ARGV "C: \\ Program Files \\ nodejs \\ node.exe" "C: \\ Program Files \\ nodejs \\ node_modules \\ НПМ \\ бен \\ NPM-cli.js" "запустить" «транспортир "23 многословный узел v8.9.4 24 многословного НОГО v5.6.0 25 кода ошибки ELIFECYCLE 26 ошибки ERRNO-27 ошибка [email protected] транспортир:` транспортир e2e-тесты / protractor.conf.js` 27 ошибка состояние выхода-28 ошибка ошибка при [email protected] транспортир сценария. 28 Ошибка Вероятно, это не проблема с НПМ. Существует вероятность дополнительный выход каротаж выше. 29 многословным выход [1, правда] \ Users \ Новичок \ Desktop \ угловато-JS-учебник \ угловой phonecat 21 многословным Windows_NT 6.1.7601 22 многословным ARGV "C: \\ Program Files \\ nodejs \\ node.exe" «C: \\ Program Files \\ nodejs \\ node_modules \\ NPM \\ бен \\ NPM-cli.js» "запустить" "транспортир" 23 многословный узел v8.9.4 24 многословным NPM v5.6.0 25 кода ошибки ELIFECYCLE 26 ошибки ERRNO-27 ошибки углового phonecat @ 0.0.0 транспортир: `транспортир e2e-тесты / protractor.conf.js` 27 ошибка состояния Выход 1 28 ошибка ошибка при [email protected] транспортир сценария. 28 Ошибка Вероятно, это не проблема с НПМ. Существует вероятность дополнительный выход каротаж выше. 29 многословным выход [1, правда] \ Users \ Новичок \ Desktop \ угловато-JS-учебник \ угловой phonecat 21 многословным Windows_NT 6.1.7601 22 многословным ARGV "C: \\ Program Files \\ nodejs \\ node.exe" «C: \\ Program Files \\ nodejs \\ node_modules \\ NPM \\ бен \\ NPM-cli.js» "запустить" "транспортир" 23 многословный узел v8.9.4 24 многословным NPM v5.6.0 25 кода ошибки ELIFECYCLE 26 ошибки ERRNO-27 ошибки углового phonecat @ 0.0.0 транспортир: `транспортир e2e-тесты / protractor.conf.js` 27 ошибка состояния Выход 1 28 ошибка ошибка при [email protected] транспортир сценария. 28 Ошибка Вероятно, это не проблема с НПМ. Существует вероятность дополнительный выход каротаж выше. 29 многословным выход [1, правда] Существует вероятность дополнительный выход каротаж выше. 29 многословным выход [1, правда] Существует вероятность дополнительный выход каротаж выше. 29 многословным выход [1, правда]
P. Navarro
1

голосов
2

ответ
67

Просмотры

Использование оператора ИЛИ в ожидать заявление транспортир

Как использовать оператор ИЛИ в ожидать заявление. Ниже мой код вар = Теперь где-то; вар = nowPlus-нибудь; ожидать (updatedRefreshedTime) .toEqual (теперь || nowMinus); Я хочу что-то вроде этого.
dgl viru

Просмотр дополнительных вопросов