Вопросы с тегами [automated-tests]

1

голосов
1

ответ
1.3k

Просмотры

Как получить идентификатор WorkItem, который начал автоматизированный тест

Введение: В VS2012, мы имеем набор WorkItems, которые планируется автоматизировать. Я создал набор автоматизированных тестов через SpecFlow в VS2010. Для подключения WorkItem с автоматизированным тестом, я должен выбрать WorkItem и поиск автоматизированного теста, который может быть только один раз метода. Недостаток заключается в том, что при большом количестве TestMethods (и у нас), список очень длинный. Это будет утомительно для подключения WorkItem с соответствующим TestMethod. Таким образом, многие из наших тестов (и, следовательно, имена TestMethod) генерируются автоматически, так как мы используем SpecFlow. А когда командный игрок изменить название сценария, это имя TestMethod также изменяется, разрывая связь между WorkItem и автоматизированным тестированием. То, что я хочу: Я хочу, чтобы создать единый TestMethod, которые могут быть выбраны для каждого автоматизированного WorkItem. Это TestMethod извлекает идентификатор WorkItem и ищет для TestMethod, которое начинается с ID, или имеет атрибут Tag SpecFlow с этим идентификатором. Поэтому мне нужен идентификатор WorkItem. Вопрос: Как получить идентификатор WorkItem, который инициировал проверку?
AutomatedChaos
1

голосов
3

ответ
152

Просмотры

Can't click a button with javascript using execute_script Selenium

Я пытаюсь избавиться от всплывающего окна печенья принимая печенье и нажав кнопку подтверждения. У меня нет никаких проблем с нажав ввод «zgadzam Sie на», но при нажатии на кнопку «potwierdź», кажется, невозможно. Мой код: от селена импорта WebDriver из импорта selenium.webdriver.common.by По из selenium.webdriver.support.ui импорта WebDriverWait из selenium.webdriver.support импортных expected_conditions как auction_url EC = 'https: //www.g2a.com/ гранд-кража-авто-v-рокзвезда ключ-глобального i10000000788017' драйвер = webdriver.Chrome () driver.get (auction_url) add_popup = WebDriverWait (водитель, 10) .until (EC.presence_of_element_located ((By.XPATH, ' // * [@ ид = "webklipper-издатель-виджет-контейнер-уведомление-кадр"] '))) driver.switch_to.frame (driver.find_element_by_xpath (' // * [@ ид =»
Vickers213
1

голосов
0

ответ
45

Просмотры

Как я могу изменить перезаписаны массив правильно?

Как я могу переписать массив, который помечен как модифицированный, в методе? Или есть способ Dafny просто увеличить длину массива на один? класс ownerIndexs {вар О.И.: карта; Конструктор () {новый; }} Класс Pendingstate {вар yetNeeded: INT; вар ownersDone: bv256; Индекс вар: INT; } Класс мо {вар m_pendingIndex: массив; вар m_ownerIndex: ownerIndexs; вар m_pending: карта; вар m_required: INT; Метод confirmAndCheck (операция: INT, msgsender: целое) возвращает (BOO: BOOL, ownerIndex: ИНТ, ожидающие: Pendingstate)!! требует m_pendingIndex = нуль изменяет this.m_pendingIndex обеспечивает m_pendingIndex = NULL && в ожидании = NULL ==> 0 <в ожидании .index <m_pendingIndex.Length && m_pendingIndex [pending.index] == операция {ожидании: = новый Pendingstate; pending.index: = M_pendingIndex.Length; this.m_pendingIndex: = extendArrayByOne (this.m_pendingIndex); // Проблема с п m_pendingIndex ИЗМЕНЯЮТ [pending.index]: = операция; } Метод extendArrayByOne (oldarray: массив) возвращает (newarray: массив)! Требует oldarray = NULL обеспечивает newarray = нуль обеспечивает свежий (newarray) обеспечивает newarray.Length == oldarray.Length + 1 обеспечивает FORALL к :: 0
Jaroxa
1

голосов
1

ответ
322

Просмотры

Specflow / корнишона документы тестирования XML

У нас есть проект ASP.NET/MVC WebAPI с большой коллекцией тестов конца в конец управляемого Specflow. Все запросы и ответы до сих пор были JSON, так это работает отлично. Однако теперь мы имеем конечную точку, которая ожидает тело XML, который в идеале мы бы иметь в качестве литерала в файле особенность ... Сценарий Outline: Учитывая я проверку подлинности Когда я отправляю следующий XML «» «„“» Тогда что-то хорошее происходит Примеры: | Бар | | яблоки | | бананы | Проблема заключается в том, что мы делаем изрядное количество использования сценария Outline и синтаксис Specflow / Огурец для инъекционного примера свойства сценария выглядит как XML-теги, например. Есть ли способ использовать Specflow / Огурец с XML-документами с сценарием очерчивает к, для exmaple,
GoatInTheMachine
1

голосов
1

ответ
19

Просмотры

Тестирование гранит чернила элемент, используя веб-компоненты Selenium WebdriverJS

У меня есть следующий HTML-код с помощью гранитых чернил элемента: веб-компоненты код, который я попытался проверить его с помощью селена: вар холста = drawing.findElement (webdriver.By.css ( «# inputArea»)); вар действия = driver.actions (); actions.mouseMove (холст, 500100) .mouseDown () MouseMove (холст, 200,60) .mouseup () выполняет ()..; Когда я запускаю его на моем ЦМД, ничего не происходит на площади холста подписи в моем приложении, кто знает, как я могу изменить это? Я также обнаружил, что я не могу использовать Clickandhold () и некоторые другие методы Seleium в моем тесте.
Harvey Lin
1

голосов
1

ответ
174

Просмотры

В тесте Джанго есть пустое QuerySet, присвоенные переменные, но не пусто при печати в консоли во время отладки

Я отладки Django (1.11.8) тест и наблюдая странное поведение, при остановке в отладчик и переключился на IPython консоли ввода: Model.objects.all () возвращает непустое QuerySet. Однако, когда один и то же выражение присваиваются переменным, например: obj_qs = Model.objects.all (), а затем obj_qs пусто QuerySet. Я хотел бы ожидать того же результата с обоих утверждений. Я пропускаю что-то важное в настройках тестов? Я использую как setUpTestData () и нАлАдкУ () методы для инициализации объектов для теста.
izkeros
1

голосов
0

ответ
49

Просмотры

Робот Framework | скачать SSHLibrary | python2.7 :: как исправить ошибку: команда «НКУ» не удалось статус выхода 1

я хочу, чтобы загрузить SSHLibrary с целью разработки автоматизации тестирования, но каждый раз, когда он снова просит меня от других библиотек, чтобы загрузить .... такие как ***** paramico pyasnl pynacl ***** и т.д., пока не дойдете до cffi но проблема он показывает мне ошибку, я не могу решить {ошибка: команда «НКУ» не удалось статус выхода} 1 ... вы найдете его ниже скриншоте ниже проверки, зная, что я работаю с Python 2.7
Ghassen Ksila
1

голосов
0

ответ
76

Просмотры

How to print an exception under rspec execution log and rails console?

When Letter Opener email is triggered, it get printed into test.log. I need it to print it under console log. When Feature spec is running and if exception is occurred, it should get printed into server log on terminal. How to inspect the exception when email is triggered in letter_opener_email configuration? As using puts, it can get printed, but where to write puts ? using - ruby 1.9.3p0 gem 'rspec-rails', '2.6.1.beta1' gem 'capybara', '2.1.0' gem 'letter_opener', '1.4.1' Spec execution is done as - rspec spec/features/user_spec.rb -fd --out log.txt Requirement: when exception occurs, then it should get printed in Spec execution log(log.txt) In my case, when exception occurs, it get saved into /letter_opener folder in html format. I want to print that exception in log.txt in such a way that as it displays in browser(without displaying html, css tags). letter_opener_files = Dir["#{Rails.root}/tmp/letter_opener//"] letter_opener_files.sample is as below : (ActiveRecord::StatementInvalid) "OCIError: ORA-01722: invalid number: SELECT SUM(\"CASH_BOOK\".\"DEBIT\") AS sum_id FR... From: #<Mail::Field:0x0000001dae4cb0> Subject: (ActiveRecord::StatementInvalid) "OCIError: ORA-01722: invalid number: SELECT SUM(\"CASH_BOOK\".\"DEBIT\") AS sum_id FR... An ActiveRecord::StatementInvalid occurred in background at 2018-02-14 20:15:29 +1300 : OCIError: ORA-01722: stmt.c:253:in oci8lib_191.so ------------------------------- Backtrace: ------------------------------- stmt.c:253:in oci8lib_191.so /usr/local/rvm/gems/ruby-1.9.3-p0/gems/ruby-oci8-2.1.2/lib/oci8/oci8.rb:474:in `exec' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-oracle_enhanced-adapter-1.4.1/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb:143:in `exec I have tried below solution which is working, but mail get printed(with tags which is not required) in console only, not in log.txt describe 'User' do after(:each) do page = Nokogiri::HTML.parse(File.read(letter_opener_files.sample)) puts "Exception Occurred - #{page.css('p')}" end it 'should not have any exception' do create(:user) end end Got Output as below : 1.9.3-p0 :347 >puts "Exception Occurred - #{page.css('p')}" Exception Occurred - An ActiveRecord::StatementInvalid occurred in background at 2018-02-14 20:15:29 +1300 : OCIError: ORA-01722: invalid number: stmt.c:253:in oci8lib_191.so ------------------------------- Backtrace: ------------------------------- stmt.c:253:in oci8lib_191.so /usr/local/rvm/gems/ruby-1.9.3-p0/gems/ruby-oci8-2.1.2/lib/oci8/oci8.rb:474:in `exec' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-oracle_enhanced-adapter-1.4.1/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb:143:in `exec' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-oracle_enhanced-adapter-1.4.1/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb:627:in `block in exec_query' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.6/lib/active_record/connection_adapters/abstract_adapter.rb:245:in `block in log' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.6/lib/active_support/notifications/instrumenter.rb:21:in `instrument' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.6/lib/active_record/connection_adapters/abstract_adapter.rb:240:in `log' Expecting Output(in log.txt & console) - Exception Occurred - An ActiveRecord::StatementInvalid occurred in background at 2018-02-14 20:15:29 +1300 : OCIError: ORA-01722: invalid number: stmt.c:253:in oci8lib_191.so ------------------------------- Backtrace: ------------------------------- stmt.c:253:in oci8lib_191.so /usr/local/rvm/gems/ruby-1.9.3-p0/gems/ruby-oci8-2.1.2/lib/oci8/oci8.rb:474:in `exec' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-oracle_enhanced-adapter-1.4.1/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb:143:in `exec' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-oracle_enhanced-adapter-1.4.1/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb:627:in `block in exec_query' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.6/lib/active_record/connection_adapters/abstract_adapter.rb:245:in `block in log' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activesupport-3.1.6/lib/active_support/notifications/instrumenter.rb:21:in `instrument' /usr/local/rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.6/lib/active_record/connection_adapters/abstract_adapter.rb:240:in `log' Please advise if there is any better way to do this and how to print exception under log.txt?
Rhunal
1

голосов
0

ответ
420

Просмотры

Appium [MAC] [iOS] Bad pp error

I have an error when trying to launch iOS app by desktop Appium server, i managed to run the test on android device successfully, but failed to do the same for the iOS. The error is: > Bad app: >/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/app>ium-ios-driver/build/SafariLauncher/SafariLauncher.app. App paths need to be >absolute, or relative to the appium server install dir, or a URL to compressed >file, or a special app name. My code is: // Set desired capabilities. DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("platformName", "iOS"); // REAL DEVICE //capabilities.setCapability("deviceName", "iPhone 6s"); capabilities.setCapability("deviceName", "Testing iPhone6s"); capabilities.setCapability("platformVersion", "11.0.1"); capabilities.setCapability("browserName", "Safari"); capabilities.setCapability("orientation", "PORTRAIT"); capabilities.setCapability("udid", "XXXX"); String apkpath="/Users/testing/Desktop/Mohandisi.ipa"; // capabilities.setCapability(MobileCapabilityType.APP, apkpath); File app=new File(apkpath); capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath()); // Open the app. driver = new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS); I don't know why appium days that the application is bad although i added the full path! iOS Settings in Appium Server Screen shot
Ibrahim
1

голосов
0

ответ
182

Просмотры

тестирования Django, не может видеть ничего в тестовой базе данных

Я бегу несколько тестов в Django с использованием от django.test импорта TestCase и подклассов, которые. Мои тесты бежать, но когда я шагаю через них в режиме отладки, я хочу, чтобы проверить, что происходит в MySQL. Но я не вижу ничего в MySQL. (Я использую файл настроек, который указывает на локальный экземпляр MySQL для тестов). Вход в MySQL через командную строку или PyCharm я могу видеть, что он test_database получает создан правильно (и снесен после испытания закончился. Но когда я запрашиваю все таблицы они через клиент MySQL, они пусты. Я могу использовать ORM делать операции CRUD в базе данных, и они ведут себя, как ожидалось (просмотр объектов в PyCharms отладчика). Почему я не вижу каких-либо данных в MySQL? обернуты тесты в какой-то сделки, так что другой Логин не будет видеть эти изменения ? есть ли настройки мне нужно изменить?
wobbily_col
1

голосов
2

ответ
322

Просмотры

Как я могу запустить тот же тест на browserstack и локальных браузеров?

Я настроил тесты NUnit, который работает на BrowserStack (создано из этого примера https://github.com/browserstack/nunit-browserstack) базовый класс: пространства имен Bloc.TestProject {общественного класса BrowserStackNUnitTest {защищаемого водитель IWebDriver; защищенный строковый профиль; защищенный строковый окружающей среды; частная локальная browserStackLocal; общественные BrowserStackNUnitTest (строка профиль, строка среда) {this.profile = профиль; this.environment = среда; } [SetUp] общественный недействительный Init () {... Browserstack тесты: пространство имена Bloc.TestProject {[TestFixture ( "параллельный", "хром")] [TestFixture ( "параллельный", "ie11")] [TestFixture ( "параллельный », "iphoneX" )] [TestFixture ( "параллельный", "Ipad")] [TestFixture ( "параллельный", "samsungGalaxyS8")] [параллелизуемого (ParallelScope.Fixtures)] класс OnTimeOnlineBooking общественности: BrowserStackNUnitTest {WebDriverWait ждать; общественный OnTimeOnlineBooking (строка профиль, строка среда): база (профиль, окружающая среда) {} ... мои тесты ... Местные тесты: пространство имена Bloc.TestProject {[TestFixture (TypeOf (PhantomJSDriver))] общественный класс LocalBrowserTest где TWebDriver: IWebDriver , новый () {частный водитель IWebDriver; [Установка] общественный недействительный CreateDriver () {this.driver = новый TWebDriver (); } [Teardown] Очистка общественного недействительными () {driver.Quit (); } ... мои тесты ...
olemarius
1

голосов
0

ответ
40

Просмотры

Временное решение для параметров, которые могут быть установлены только один раз в системе при создании тестов в Selenium WebDriver

У меня есть небольшая проблема с созданием функциональных тестов в моем приложении. В этом приложении мы имеем несколько параметров, которые могут быть установлены только один раз, после установки его я не могу включить новые функциональные возможности. Основная проблема заключается в том, что перед включением этого параметра на интерфейсе некоторых процессов могут работать разные, чем после проверки. Обратите внимание, что существует несколько параметров, как это, так что я большая проблема с созданием тестов, которые должны проверить каждую конфигурацию этих параметров. Также есть еще одно условие для моей тестовой базы, что должно быть по крайней мере 4 испытания, которые выполняются в то же время (параллелизм), так что даже если я решить проблему с созданием исправное тестов или сделать несколько резервных копий / снимков базы данных в моменты выбраны с есть шанс, что тесты могут начать восстановление базы данных на момент выбран в то время как еще тесты работает или работает на указанной конфигурации. Кто-нибудь из вас сталкивался с проблемой, как это? Любые предложения, которые могут дать мне немного помочь будут оценены. С уважением.
ozyrys1994
1

голосов
0

ответ
200

Просмотры

Является ли поддерживается .vsmdi файл в VS2017

Мы мигрирует наш исходный код из VS 2012 в VS 2017. Наш код представляет собой комбинацию обоих управляемых (C #) и родной (с ++). Мы также имели тестовые проекты для тестирования нашей реализации. В рамках этого, нам удалось файл «MyProjectTest.vsmdi». Поскольку мы мигрируем все решения, я хотел бы знать, если нам нужно изменить что-либо в .vsmdi файла, а? Если да, то пожалуйста, дайте мне знать, какие изменения необходимы. См ниже данных образца: Нужно ли нам изменить Версия тег здесь? С наилучшими пожеланиями, Tausifahamad
Tausif
1

голосов
1

ответ
147

Просмотры

тест Auth0 счета лучшие практики

Я работаю над проектом с использованием Auth0 для аутентификации, и я начинаю писать на стороне клиента тесты для этого проекта. Я хотел бы создать тестовую учетную запись для этого проекта, который может позволить скрипт регулярно и автоматически запускать с помощью различных сценариев в приложении. Проблема заключается в том, что я хотел бы запустить эти тесты на стек с фактическими данными о клиентах. Это означает, что учетные данные / пароль для этой учетной записи должны быть скрыты от общественности. Я должен быть в состоянии повернуть эти учетные данные легко, а поэтому никто я работаю не имеет постоянный доступ к данным клиентов. Я хотел бы также, чтобы сохранить учетные данные из моих проверила в кодовом, в случае утечки информации для общественности. Каковы лучшие практики для этой ситуации? Существуют ли аналогичные проблемы, которые имеют решения я могу использовать для вдохновения?
Joseph Smith
1

голосов
1

ответ
112

Просмотры

Gradle command syntax for executing TESTNG tests as a group

У меня есть некоторые тесты, как показано ниже: @test (группы = { "дым"}) общественного недействительными Test1 () {...} @test (группы = { "дым", "регрессия"}) общественного недействительными test2 () {. ..} @test (группы = { "регресс"}) общественного недействительными Test3 () {...} В build.gradle файле у меня есть ниже задачи smoketests (типа: Test) {useTestNG () {люкс «SRC / тест /resources/testng.xml»includeGroups„дым“}} Мне нужно иметь Gradle синтаксиса для запуска тестов дыма / регрессии только с помощью командной строки. Я попытался это: ./gradlew чистый тест -P testGroups = "дым", если я бегу, что строить успешно, как показано ниже:: чистый: compileJava: processResources уточненный: классы: compileTestJava: processTestResources UP-TO-DATE : testClasses: тест BUILD УСПЕШНЫЙ Общее время: 42.253 ИКС Но это никогда не выполнится сами тесты. Нужна помощь
Saikat Barua
1

голосов
0

ответ
67

Просмотры

UiDevice.openNotification () не работает с WindowFullScreen = True

Один из моих UiAutomator тестов не будет работать на одном из моих устройств тестирования, потому что _uiDevice.openNotification () не удается открыть область уведомлений. В отличие от документации этой функции, я получить истинное, как результат. Если установить ложный (ранее это было правдой), уведомления открываются корректно. Но эта проблема возникает только на одном из моих устройств (Sony Xperia Z3), а другой один (Samsung Galaxy S5) удается открывать уведомление, независимо от того, если эта деятельность является полноэкранный режим или нет. Мой (начальный) стиль: истинный @ цвет / ioxp_yellow В моем манифесте: Отрывок из моего теста: @RunWith (AndroidJUnit4.class) общественного класса MainActivityAutomatorTest {@test общественные пустоты testNotifications () бросает UiObjectNotFoundException, NoSuchMethodException, NoSuchFieldException, IllegalAccessException, InvocationTargetException, ClassNotFoundException {// ... Assert.assertTrue ( "Не удалось открыть устройство уведомления", _uiDevice.openNotification ()); Строка notificationString = context.getString (R.string.downloadService_title_workspace, serverWsId); Уведомление UiObject2 = _uiDevice.wait (Until.findObject (By.text (notificationString)), UI_TIMEOUT); Assert.assertNotNull (уведомление); // это терпит неудачу} @Before общественного недействительными startMainActivityFromHomeScreen () {// Инициализировать UIDevice экземпляр _uiDevice = UiDevice.getInstance (InstrumentationRegistry.getInstrumentation ()); // Начинаем с главного экрана _uiDevice.pressHome (); // Ожидание пусковой конечной строки launcherPackage = _uiDevice.getLauncherPackageName (); Assert.assertNotNull (launcherPackage); _uiDevice.wait (Until.hasObject (By.pkg (launcherPackage) .depth (0)), UI_TIMEOUT); // Запуск контекста приложения Контекст = InstrumentationRegistry.getContext (); Окончательный Намерение Намерение = context.getPackageManager () .getLaunchIntentForPackage (BuildConfig.APPLICATION_ID); Assert.assertNotNull (намерение); // очистить все предыдущие экземпляры intent.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity (намерение); // Ожидание приложения появится _uiDevice.wait (Until.hasObject (By.pkg (BuildConfig.APPLICATION_ID) .depth (0)), UI_TIMEOUT); }} Является ли это ошибка в рамках Automator или я делаю что-то не так? Глубина (0)), UI_TIMEOUT); // Запуск контекста приложения Контекст = InstrumentationRegistry.getContext (); Окончательный Намерение Намерение = context.getPackageManager () .getLaunchIntentForPackage (BuildConfig.APPLICATION_ID); Assert.assertNotNull (намерение); // очистить все предыдущие экземпляры intent.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity (намерение); // Ожидание приложения появится _uiDevice.wait (Until.hasObject (By.pkg (BuildConfig.APPLICATION_ID) .depth (0)), UI_TIMEOUT); }} Является ли это ошибка в рамках Automator или я делаю что-то не так? Глубина (0)), UI_TIMEOUT); // Запуск контекста приложения Контекст = InstrumentationRegistry.getContext (); Окончательный Намерение Намерение = context.getPackageManager () .getLaunchIntentForPackage (BuildConfig.APPLICATION_ID); Assert.assertNotNull (намерение); // очистить все предыдущие экземпляры intent.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity (намерение); // Ожидание приложения появится _uiDevice.wait (Until.hasObject (By.pkg (BuildConfig.APPLICATION_ID) .depth (0)), UI_TIMEOUT); }} Является ли это ошибка в рамках Automator или я делаю что-то не так? getLaunchIntentForPackage (BuildConfig.APPLICATION_ID); Assert.assertNotNull (намерение); // очистить все предыдущие экземпляры intent.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity (намерение); // Ожидание приложения появится _uiDevice.wait (Until.hasObject (By.pkg (BuildConfig.APPLICATION_ID) .depth (0)), UI_TIMEOUT); }} Является ли это ошибка в рамках Automator или я делаю что-то не так? getLaunchIntentForPackage (BuildConfig.APPLICATION_ID); Assert.assertNotNull (намерение); // очистить все предыдущие экземпляры intent.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity (намерение); // Ожидание приложения появится _uiDevice.wait (Until.hasObject (By.pkg (BuildConfig.APPLICATION_ID) .depth (0)), UI_TIMEOUT); }} Является ли это ошибка в рамках Automator или я делаю что-то не так?
PhilLab
1

голосов
1

ответ
131

Просмотры

каркасные Робот и DRY: функциональные шаги повторяют шаги TestCase

Я хочу, чтобы автоматизировать два testcases: 1) Войдите в системе Валида Вход Учитывая браузер открыт для входа страницы Когда пользователь «демо» входит в с «режимом» пароля Затем страница приветствия должна быть открыта 2) Есть ли что-нибудь после входа в систему Изменение имени [Setup] Вход в данном пользователь на счет странице Когда пользователь редактирует поле первого имени-Затем новое имя отображается в поле первого имени *** Ключевые слова *** Войти Открыть браузер для входа страницы Войти с именем пользователя «демы» и пароль «режим» Убедитесь, что страница приветствия открыта для второго я должен написать ключевое слово, которое полностью повторяет шаги первого TestCase. Это происходит много в testsuits, так что я в конечном итоге с большим количеством шагов повторяющимися дважды в моем проекте. Есть ловкий трюк, чтобы избежать такого кода дублирования, сохраняя при этом testcases верхнего уровня выглядит как огурчик? Существует ли передовая практика, по этому вопросу?
1

голосов
2

ответ
61

Просмотры

Утверждают 2 строки в альфа порядке

В настоящее время я пишу. тест для сравнения турнирных таблиц записей в таблице ставок, во-первых, я должен сравнить результат кирки или игрока (который работает), а затем я должен сравнить каждый игроков точки (который работает), но если оба эти атрибуты одинаковы я должен утверждать, игрок выше по таблице выше, в алфавитном порядке. Я создал переменные username_player и previous_user, чтобы сделать это, но не могу понять, как это сделать, Im пытаясь поставить его в другое, если раздел (который я думаю, что это правильно). Там, кажется, не быть одним из вариантов утверждают, чтобы сделать это? общественного недействительными test_player_leaderboard_entry () {INT размер = playerRows.size (); Целое число previous_total = 0; Целые previous_points = 0; Строка previous_user = NULL; для (INT I = 0; г <размер; я ++) {// Позиция Строка position_first_player = Drivers.getDriver () findElement (By.cssSelector ( "[данных-Qa-позиционный-значение = '" + I +'] ".)) GetText (). // Строка Очки points_player = Drivers.getDriver () findElement (By.cssSelector ( "[данные-QA-точка-значение = '" + I +'] ")) GetText ()..; // Имя пользователя Строка username_player = Drivers.getDriver () findElement (By.cssSelector ( "[данных QA-проигрыватель-значение = '" + I +'] ")) GetText ()..; // Рядное Количество Целое число строк = + 1; Целое число point_player = Integer.parseInt (points_player); Целое число total_of_won_and_looking_good = 0; // пинцет для (INT pick_number = 1; pick_number <5; pick_number ++) {Строка pick_status = Drivers.getDriver (). findElement (By.xpath ( "// * [@ ID = 'корень'] / DIV / Основной / раздел [2] / раздел / DIV / ол / а [" + строка + «] / Li / дел [3] / DIV [»+ pick_number + "] / дел данных QA-подборщик состояние ")")) GetAttribute (."; //System.out.println(pick_status); если (Integer.parseInt (pick_status) == 2 || Integer.parseInt (pick_status) == 1) {total_of_won_and_looking_good = total_of_won_and_looking_good + 1; }} Если (previous_total.equals (total_of_won_and_looking_good)) {Assert.assertTrue (previous_points> point_player); System.out.println ( «выборка одинаковы, точки выше»); } Иначе, если (previous_total.equals (total_of_won_and_looking_good) && previous_points.equals (point_player)) {Assert.assertTrue (previous_user. CompareTo (username_player) <0); } Previous_total = total_of_won_and_looking_good; previous_points = point_player; previous_user = username_player; System.out.println ( "На номере строки" + ряд + "мы находим" + username_player + "в положении" + position_first_player + "с" + total_of_won_and_looking_good + "правильной киркой и" + points_player + "точками!"); }}} + Total_of_won_and_looking_good + "правильные выборы и" + points_player + "точки!"); }}} + Total_of_won_and_looking_good + "правильные выборы и" + points_player + "точки!"); }}}
user9686029
1

голосов
2

ответ
106

Просмотры

Не удалось найти элемент в классе формы или сНу класса

Я не может найти элемент в форме класса или сОн классе: // Пробовал этот щелчок по имени источника. driver.findElement (By.id ( "__ BVID__62")) нажмите (). // Ввод в имя источника. driver.findElement (By.id ( "__ BVID__63")) SendKeys (новый String [] { "CNN"}). Я попытался это: driver.findElement (By.xpath ( "// вход [содержит (@ класс = 'форма-контроль') и введите = 'текст']")) SendKeys ( "CNN");. HTML код: Имя источника
Shams
1

голосов
1

ответ
120

Просмотры

Katalon Студия: мерзавец клонировать репо на результаты КС при удалении моих тестов

Так, я знаю, что вы можете мерзавец клонировать пустой репозиторий для KS-первых, прежде чем создавать тесты, а затем совершает и толкая их на GitHub. Однако, что если бы я создал кучу автоматизированных тестов, прежде чем решить, что я хочу, чтобы подтолкнуть их к GitHub? Когда я попытался мерзавец клонировать репозиторий для проекта КС после того, как уже создали автоматизированный тест, тест затем удаляется, и вы можете работать только с чистого листа (при условии, репо пуст). Есть ли способ, что я могу сохранить автоматизированные тесты я уже созданные? Я знаю, что вы не можете разделить тесты между проектами, поэтому вариант, чтобы создать новый проект, мерзавец клонировать репозиторий, а затем импортировать тесты, выходит.
user74843
1

голосов
0

ответ
319

Просмотры

Угловая ошибка Карма Тест: «Uncaught ReferenceError: Система не определен

Я recvied некоторый код, что я должен написать несколько тестов unint / E2e для. Моя единственная проблема в том, в любое время я запустить тест нг, я получаю эту ошибку: Chrome 67.0.3396 (Windows 10 0.0.0) ERROR { «сообщение»: «неперехваченный ReferenceError: Система не определена \ физ HTTP: // локальный: 9876 /_karma_webpack_/scripts.bundle.js:1:1\n\nReferenceError: система не определен \ п по адресу: // локальный: 9876 / _karma_webpack_ / scripts.bundle.js: 1: 1" , "ул": " Uncaught ReferenceError: система не определен \ физ HTTP: // локальный: 9876 / _karma_webpack_ / scripts.bundle.js: 1: 1 \ п \ nReferenceError: система не определен \ п по адресу: // локальный: 9876 / _karma_webpack_ / scripts.bundle.js: 1: 1" } Chrome 67.0.3396 (Windows 10 0.0.0) ERROR { "сообщение": «Uncaught ReferenceError: система не определен \ физ HTTP: // локальный:
1

голосов
0

ответ
93

Просмотры

Как проверить API шлюза?

Я хочу сделать тесты на API шлюза с выпуском с «Экспресс-шлюз». Я вижу «экспресс-шлюз-тест-инструменты», но нет руководства или «как». Кто-нибудь может мне помочь?
1

голосов
0

ответ
336

Просмотры

Тестирование Electron приложений с Selenium2Library Robot Framework в

Я сделал все, что предоставляется в этой ссылке - https://spage.fi/electron. Во-первых, я скачал правильную версию Chromedriver для соответствующего электронного последней стабильной версии и Убунту 16.04 по этой ссылке - https://github.com/electron/electron/releases. И я начал chromedriver от терминала Он показал сообщение, как это в терминале Запуск ChromeDriver 2.30 (7accc8730b0f99b5e7c0702ea89d1fa7c17bfe33) на порту 9515 только локальные соединения разрешены. Затем я создал файл питона, vars.py с следующим содержанием: binary_location = { «chromeOptions»: { «двоичный»: «путь / к / электрон / приложения»}} И, наконец, создал Framework тест робота люкс, как это: ** * Настройки *** Библиотека Selenium2Library run_on_failure = Log Source Переменные ./vars. ру *** Test Cases *** Foo Создание WebDriver Remote desired_capabilities = $ {binary_location} command_executor = HTTP: // локальный: 9515 Sleep 15s Нажмите Element пароль #password является идентификатор TextField ввода текста пароля 1234 [Teardown] Закрыть все Браузеры Когда я запускаю тест в Райд IDE, набор тестов работает и открывает приложение Electron и отображает на первой странице приложения. Но после сна 15 секунд, журнал показывает, как: INFO: При нажатии элемента «пароль». и продолжает работать в этом состоянии пока ничего не происходит в электронном приложении, я не знаю, почему его не работает ключевые слова, в то время как он прекрасно работает в браузере, соответствующего электронного приложения я снова изменил vars.py, как показано ниже binary_location = { "browserName": "хром", "
Aneez Ahmed
1

голосов
2

ответ
1.5k

Просмотры

Как перехватывать сетевой трафик и найти Google Analytics вызова с использованием Selenium WebDriver?

Мне нужно, чтобы проверить га вызова с помощью автоматизации. получить (LogType.PERFORMANCE) .getAll (); дает множество журналов, но не мог найти запрос вызова URL. Пожалуйста, помогите найти вызов га.
Arun Prasanth.G
1

голосов
2

ответ
45

Просмотры

как показать элемент бровей страницы в тестировании селена?

Я попытался это сделать тестирование селена требует 'Watir' Ь = Watir :: Browser.start 'http://www.gmail.com' т = b.text_field ID: t.exists 'entry_1000000'? t.set «вашего имени» t.value но не извлечение какого-либо текста в бровях страницы (www.gmail.com).
Richa
1

голосов
1

ответ
187

Просмотры

Katalon: Когда сбросить GlobalVariable?

При использовании Katalon и изменения значений в течение GlobalVariable, до или после теста или набора тестов, когда именно делает сброс изменения к заданному значению в профиле?
douaberigoale
1

голосов
1

ответ
236

Просмотры

Селен + Python. Как нажать на флажок?

У меня есть проблема, что я не знаю, как решить. Мне нужно установить в True флажка объявлен как: ... * Dalej Потому что те элементы в списке, я создал в цикле питона, который перебирает над элементами: = self.driver.find_elements_by_css_selector согласия последнего ( «input.checkbox-group__input») для согласия в согласий: флажок = consent.find_element_by_css_selector ( «label.checkbox-group__label :: до») checkbox.click () но каждый раз, когда я получил ошибку: selenium.common.exceptions.NoSuchElementException Я попробовал также использовать XPath, но эффект был тот же :(
Tobiasz Poręba
1

голосов
0

ответ
58

Просмотры

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

Я использую докер, appium, codeception для испытаний реальных устройств (Mi, Nexus 5X) в хроме. Когда я начинаю мой тест (новый браузер) я вижу всплывающее меню перевести этот сайт. Я не знаю, как скрыть или отключить эту функцию. Контекстное перевести этот сайт. PS: --disable-перевод не работает.
xozENful
1

голосов
2

ответ
306

Просмотры

Appium Java Соус Labs Облако тестирования: Ран Нужные возможности получили ошибку Соус Labs Authentication

Я Noobie на соус лабораториях. Я бегала мой Соус лабораторию по appium Желаемых возможностей для 1-я раза, и я получил следующее сообщение об ошибке: Не удалось разобрать удаленный ответ: Misconfigured - Соус Error Labs Authentication. Вы использовали имя пользователя «USERNAME» и ключ доступа «ACCESS_KEY» для проверки подлинности, которые не являются действительными Labs Соус полномочия. Мой вопрос заключается в следующем: Что это такое? Как я могу это исправить? Я допустил ошибку новичка? Глупый вопрос, но хотел спросить. Как посмотреть, что происходит в лабораториях соуса? Вот мой Желаемые Возможности Код: открытый статический окончательная Строка USERNAME = «конфиденциальный»; общественности статической конечной строки ACCESS_KEY = «condfidential»; общественности статической конечной строки URL = "https: //" + USERNAME + ":" + ACCESS_KEY + "@ ondemand.saucelabs.com: 443 / WD / ступица"; государственной статической силы основных (String [] арг) бросает MalformedURLException {DesiredCapabilities колпачком = новые DesiredCapabilities (); cap.setCapability ( "platformName", "Ios"); cap.setCapability ( "DEVICENAME", "iPhone8 Тренажер"); cap.setCapability ( "platformVersion", "11,3"); cap.setCapability ( "browserName", "Сафари"); cap.setCapability ( "deviceOrientation", "портрет"); WebDriver водитель = новый RemoteWebDriver (новый URL ( "HTTP: // USERNAME: [email protected]: 80 / WD / ступица"), крышка); driver.get ( "https://www.bbc.co.uk/"); Сообщение об ошибке: Не удалось разобрать удаленный ответ: Misconfigured - Соус Labs Ошибка проверки подлинности. Вы использовали имя пользователя «USERNAME» и ключ доступа «ACCESS_KEY» для проверки подлинности, которые не являются действительной Labs Соуса полномочия. Были получены следующие желательные возможности: { 'browserName': 'Сафари', 'DEVICENAME': 'iPhone8 Simulator', 'deviceOrientation': 'портрет', 'platformName': 'IOS', 'platformVersion': '11 0,3' } Постройте информация: версия: '3.9.1', редакция: '63f7b50', время: '2018-02-07T22: 42: 22.379Z' Информация о системе: хозяин: 'ххх-MacBook-Air.local', ф: «100,100. 0,0' , os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10 .13.6' , java.version: '1.8.0_71' Driver информация: driver.version: RemoteWebDriver в орг .openqa.selenium.remote.ProtocolHandshake.createSession (ProtocolHandshake.java:111) при org.openqa.selenium.remote.
fypnlp
1

голосов
1

ответ
54

Просмотры

Пытаясь найти заголовки столбцов / строк на экране, который содержит несколько таблиц

Так что мой сценарий: У меня есть 2 таблицы на экране, таблица 1 имеет определенные данные в нем. Я хочу, чтобы утверждать, что в каждой таблице существуют правильные колонки и строки заголовков. До сих пор, что я пытался это: - .expect (page.Table.nth (0) .page.tableHeaderRow.nth (1) .withText ( 'строка заголовка') существует.) .Ok () Однако, когда я пытаюсь это я получить следующие 2 ошибки: - 1) вызов к функции асинхронной не ожидается. Используйте «ОЖИДАНИЕ» ключевое слово перед действиями, утверждений или цепочек из них, чтобы гарантировать, что они выполняются в правильной последовательности. 2) Ошибка типа: Не удается прочитать свойство «tableHeaderRow» неопределенных Я понимаю, что приведенный выше код я написал может быть совершенно неправильно, но как бы я идти о поиске заголовок строки / столбца в таблице только 1?
huss-is
1

голосов
3

ответ
45

Просмотры

Не могу нажать на элемент из меню, которое появляется после того, как парит

Так что это элемент Я пытаюсь найти Удалить это в меню, которое открывается при наведении курсора на другой элемент. Я парить с Actions успешно, но тогда я не могу поймать этот. Я попытался с помощью XPath, с классом ... Нет решения. Кто-нибудь есть идеи, что теперь делать?
beginner501
1

голосов
2

ответ
292

Просмотры

appium не получает элементы внутри RecyclerView

Мне нужно, чтобы принести каждый FrameLayot значение Div внутри RecyclerView. Как показано на изображении, я использовал код Список ulElement = driver.findElements (By.id ( «пейджера»)); INT SZ = ulElement.size (); System.out.println (SZ); Но получить результат как 1 вместо 9
Parthan P Vasu
1

голосов
2

ответ
155

Просмотры

Параллельное выполнение тестов робота в соусе Labs

Я использую на основе Eclipse, Maven + Robot Framework с реализацией Java в SeleniumLibrary. Я мог бы выполнять тесты в лабораториях соуса, но он выполняет только на одной виртуальной машине. Кто-нибудь достигается параллельное выполнение испытаний роботов в Соусе Labs говорит, что в нескольких виртуальных машинах? Или может кто-нибудь руководство для достижения этой цели? Заранее спасибо.
1

голосов
1

ответ
83

Просмотры

Appium Java testNG Framework: driver cannot be resolved to a variable

I am creating my very first appium framework using testNG. In the @before of this test class, I created my desired capabilities for an Appium android app. I want to use the desired capabilities in the @test section of the class but I got the following error: driver cannot be resolved to a variable So: How do I define 'driver' @test level ? How would I define 'driver' even at suite level ? Here is the code: public class TestDragnDrop { @BeforeTest public void DesiredCapabilities() throws MalformedURLException{ DesiredCapabilities caps =new DesiredCapabilities(); caps.setCapability("deviceName", "JacquelineNexus5");     caps.setCapability("platformName", "Android");     caps.setCapability("platformVersion", "8.0");     caps.setCapability("appPackage", "com.example.android.apis");     caps.setCapability("appActivity", "ApiDemos");         AndroidDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),caps);     } @Test  //Scenario:  Perform Drag n drop function //Given I am on the Home screen      //When I  tap Views        //Then I will see the View menu      //When I am in the 'view menu' I will select 'drag n drop'     //Then I will see 3 dots       //When  I select a dot and drag it     //Then I will drop it on the dot below public void DragAndDrop(){ TouchAction t = new TouchAction (driver); t.tap(driver.findElementByAccessibilityId("Drag and Drop")).perform(); t.longPress(driver.findElementById("io.appium.android.apis:id/drag_dot_1")). moveTo(driver.findElementById("io.appium.android.apis:id/drag_dot_3")).release().perform(); } }
fypnlp
1

голосов
0

ответ
116

Просмотры

Xamarin UITest: DeviceAgent is being installed but not running the .APP and the test

Сейчас я работаю над проектом с использованием Xamarin UItest, чтобы протестировать приложение IOS. Я настроил решение, как показано ниже. Но я получаю сообщение об ошибке при выполнении тестового случая на физическом устройстве, а также виртуальное устройство. Мне было интересно, что я делаю неправильно с конфигурацией, или я что-то отсутствует? DeviceAgent будет установлен, но после этого ничего не происходит. с использованием системы; используя System.Threading.Tasks; используя Xamarin.UITest; используя Xamarin.UITest.Queries; Пространство имен Testframework_DitApp {общественного класса AppInitializer {государственной статической МАПП StartApp (Platform платформы) {если (платформа == Platform.iOS) {вернуться ConfigureApp .iOS .debug () .EnableLocalScreenshots () .DeviceIdentifier (» / Вар / папки / 1G / 9ql9t0x558n9kf2ys8c5kks40000gn / T / uitest / а-0482DFE3EAA4B590406DC5DEDBA3EAF6BB72CD5E Запуск команды. {Путь: "CHMOD", Аргументы: "а + х / вар / папки / 1G / 9ql9t0x558n9kf2ys8c5kks40000gn / T / uitest / а-0482DFE3EAA4B590406DC5DEDBA3EAF6BB72CD5E / 20021 / чтения компакт-дисков-инструменты / iappdata", CurrentDirectory: «/ Users / R / Stack / Разработчик / Testframework_DitApp2 / Testframework_DitApp / bin / Debug»} Выполнение команды. {Путь: "CHMOD", Аргументы: "а + х / вар / папки / 1G / 9ql9t0x558n9kf2ys8c5kks40000gn / T / uitest / а-0482DFE3EAA4B590406DC5DEDBA3EAF6BB72CD5E / 20021 / чтения компакт-дисков-инструменты / iproxy", CurrentDirectory: «/ Users / R / Stack / Разработчик / Testframework_DitApp2 / Testframework_DitApp / bin / Debug»} Артефакт папку: / вар / папки / 1G / 9ql9t0x558n9kf2ys8c5kks40000gn / T / uitest / а-98F82CFEDF0FB026556412C4B9E68EF3BED6D9ED Запуск приложения. {BundleID: "/Users/R/Stack/Developer/Testframework_DitApp/Payload/Prod.app"} Выполнение команды. {Путь: "пс", Аргументы: "-xww -o PID, пользователь, арг", CurrentDirectory: "/ Users / R / Stack / Разработчик / Testframework_DitApp2 / Testframework_DitApp / bin / Debug"} Killing процесс проброс с PID 19419 Запуск команды , {Путь: "пс", Аргументы: "-xww -o PID, пользователь, арг", CurrentDirectory: "/ Users / R / Stack / Разработчик / Testframework_DitApp2 / Testframework_DitApp / bin / Debug"} Killing процесс проброс с PID 19421 Покончив с код выхода 0 в 174 мс. Запуск команды. {Путь: "пс", Аргументы: "-xww -o PID, пользователь, арг", CurrentDirectory: "/ Users / R / Stack / Разработчик / Testframework_DitApp2 / Testframework_DitApp / bin / Debug"} Запуск процесса. { Дорожка: " } Очистка данных приложения. 1 - ClearData: BundleID: /Users/R/Stack/Developer/Testframework_DitApp/Payload/Prod.app DeviceId: 8b7937ef87210a797fc4fa0750e3c62d194bd5b1 HTTP POST {Адрес: {AbsolutePath: "/ выход", AbsoluteUri: «http://127.0.0.1:37265 / выход», LocalPath: "/ выход", Власть: "127.0.0.1:37265", HostNameType: IPv4, IsDefaultPort: Ложь, ISFILE: Ложь, IsLoopback: Правда, PathAndQuery: "/ выход", Сегменты: [ "/" , "выход"], IsUnc: Ложь, Ведущий: "127.0.0.1", порт: 37265, запрос: "", фрагмент: "", схема: "HTTP", OriginalString: «http://127.0.0.1:37265 / выход», DnsSafeHost: "127.0.0.1", IdnHost: "127.0.0.1", IsAbsoluteUri: Правда, UserEscaped: Ложь, UserInfo: ""}} Запуск:
Rxz2
1

голосов
1

ответ
60

Просмотры

Каковы различные chromeoptions для WebDriver

Для класса ChromeOptions в селене, как я могу узнать все ключи, как profile.default_content_settings.popups, download.default_directory, которые я могу использовать с классом chromeoptions для выполнения броузера конкретной установки. Опция ChromeOptions = новые ChromeOptions (); Карта префы = новый HashMap (); prefs.put ( "profile.default_content_settings.popups", 0); prefs.put ( "download.default_directory", "C: \\ \\ Пользователь \\ Рабочий стол");
smith
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

ответ
35

Просмотры

Как иметь скрытые папки в виде мерзавца репо

У меня есть необходимость добавить тестовый код GIT репозиториев, но не тестировать код не видимые некоторые пользователя из хранилищ. Как я могу это сделать? У меня есть репозитории, которые потребляются (только для чтения) от других команд. Другие команды включают все файлы в хранилище в инсталлятор. Я не могу изменить эти построения процессов, так как они находятся вне моей сферы влияния. Но, у меня есть необходимость добавить тесты в репозитории без тестового кода потребляется в других командах в процессе сборки. Так что я думаю, что я хочу, чтобы добавить папки в хранилище, но сделать эти новые папки скрыты для некоторых пользователей. Подробнее ... Хранилища имеют очень долгую историю и иметь активную работу в нескольких отраслях выпуска. В особенности различны в различных отраслях выпуска и прорабатывается в отраслях девелоперских мне нужны тесты, чтобы быть в том же репо, чтобы они ветви специфичны. Ну .... это мое предположение. Как и большинство проблем, которые я не могу найти решение, возможно, мои предположения здесь не правы. Я попытался размещая свои тесты в другой отрасли и система сборки работает нормально, если мы будем осторожны, чтобы держать имена ветвей идентичны в обоих хранилищу ... но это трудно. Так как воспринимаемое возможным решение мне было интересно, если я мог либо фильтр, что видят некоторые пользователи, или создать «зеркало» репо, что является подмножеством исходного репозитория. Надеюсь, я объяснил проблему. Идеи? уже пробовал размещение моих тестов в другой отрасли и системе сборки отлично работает, если мы будем осторожны, чтобы держать имена ветвей идентичны в обоих хранилищу ... но это трудно. Так как воспринимаемое возможным решение мне было интересно, если я мог либо фильтр, что видят некоторые пользователи, или создать «зеркало» репо, что является подмножеством исходного репозитория. Надеюсь, я объяснил проблему. Идеи? уже пробовал размещение моих тестов в другой отрасли и системе сборки отлично работает, если мы будем осторожны, чтобы держать имена ветвей идентичны в обоих хранилищу ... но это трудно. Так как воспринимаемое возможным решение мне было интересно, если я мог либо фильтр, что видят некоторые пользователи, или создать «зеркало» репо, что является подмножеством исходного репозитория. Надеюсь, я объяснил проблему. Идеи?
Rob Smyth
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

голосов
1

ответ
37

Просмотры

Проблема с автоматизацией тестирования, WYSYWIG редактором, PHP, ВЗАИМОДЕЙСТВУЕМ

Я работаю над проектом, который использует PHP и реагирует. Моя задача состоит в том, чтобы писать автоматизированные тесты в Behat / норках, но я получил запас. У меня есть проблема с заполняющим компонентом реагирует черновик-WYSIWYG. Я пытался использовать такие функции, как эти: общественные функции fillField ($ FIELDNAME, $ fieldValue) {$ renderedFieldValue = $ this-> twigRenderStringTemplate ($ fieldValue, $ this-> сохранены); $ This-> fillField ($ FIELDNAME, $ renderedFieldValue); Кроме того, я попытался использовать JS, например, innerHTML. WYSIWIG компонент в коде: редактор HTML WYSIWYG редактор Кто-нибудь есть идеи, как заполнить это поле?
Sebastian M

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

Связанные вопросы