Вопросы с тегами [functional-testing]

1

голосов
1

ответ
46

Просмотры

Симуляция горячих клавиш в Intern (3) функциональные тесты

Я пытаюсь проверить некоторые горячие клавиши на моем сайте. Нажатие Ctrl + 5 в поле должен сделать что-то. Я делаю: command.get (...) ... .findByCssSelector ( 'входа') .click () .pressKeys ([keys.CONTROL, '5']) .pressKeys (keys.NULL) .END ( ) Кажется, дает мне странные результаты в IE. В моем KeyDown обработчике я протоколирование событий и получать это: {клавиши Alt: ложь, пузыри: правда, кнопка: неопределенные, кнопки не определены, отменяемые: истинный, changedTouches не определен, символ ":", charCode: 0, clientX: не определено, clientY не определено, ctrlKey: ложь, currentTarget: HTMLInputElement {...}, данные не определено, delegateTarget: HTMLInputElement {...}, деталь: 0, EventPhase: 2, handleObj: Объект {...}, isSimulated ложь, jQuery311042854121322469546: правда, ключ: "Контроль", KEYCODE: 17 ...} {клавишу Alt: ложь, пузыри: правда, Кнопка не определена, кнопки не определены, нерасторгаемые: правда, changedTouches: не определен, символ: "", charCode: 0, clientX: не определена, clientY не определены, ctrlKey: ложь, currentTarget: HTMLInputElement {...}, данные не определены, delegateTarget: HTMLInputElement {...}, деталь: 0, EventPhase: 2, handleObj: Object {...}, isSimulated: ложь, jQuery311042854121322469546: правда, ключ: "5", KEYCODE: 53 ...} Примечание ctrlKey является ложь, так что это не выполняет свою горячую клавишу. Это то, что я получаю при вводе текста Ctrl +-вручную: {клавиши Alt: ложь, пузыри: правда, кнопка: неопределенные, кнопки: неопределенный, отменяемый: правда, changedTouches: неопределенный, символ: "", charCode: 0, clientX: не определено, clientY не определено, ctrlKey: правда, currentTarget: HTMLInputElement {...}, данные не определено, delegateTarget: HTMLInputElement {...}, деталь: 0, EventPhase: 2,
sheodox
1

голосов
0

ответ
20

Просмотры

написать функциональный тест регрессии для новой звезды

У меня есть открытая ошибка в Геррите здесь код рецензент просит меня написать функциональный тест регрессии для изменения, кто-то может помочь мне сделать это? Заранее спасибо.
Ameed
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

голосов
0

ответ
37

Просмотры

Связывание изменения кода Java в функциональных тестах

Код набора ява успокоительных APIs. У нас есть огромный набор функциональных тестов [700+] с использованием TestNG для тестирования различных потоков. постоянно добавляются Функции и поэтому тестовые случаи будут больше в будущем. У меня есть сценарий, в котором, если мы изменяем или прикосновение небольшого куска кода, мы должны определить, какие все тесты, которые необходимо выполнить для тестирования куска кода. Выполнение всех тестовые случаев требует времени и иногда бывают сбои в валидациях из-за другие компоненты, которые не затронуты нами. Таким образом, эти неудачи валидация занимает дополнительное время. Есть ли способ, чтобы идентифицировать подмножество тестов или сделать некоторое отображение из API / метода теста.
Manas Agarwal
1

голосов
0

ответ
56

Просмотры

Segfault / SIGSEGV в Grails 2.5.6 работает функциональные тесты

При выполнении функциональных тестов в Grails 2.5.6, мы получаем Segfault: Я представил отчет Oracle (https://bugs.openjdk.java.net/browse/JDK-8209525), который, как предварительный рекомендовал выключая -javaagent вариант JVM, которая кажется Grails для включения (подпружиненных авто-перезагрузки) и -Xverify: не вариант, но я не пробовал варианты -по-перегрузочные и -Ddisable.auto.recompile = правда, и ни казалось, на самом деле влияет на этот параметр. Я задаюсь вопросом, имеет ли это что-нибудь особенно делать с Grails; ли какие-либо Grails пришли пользователи через такие ошибки сегментации. | Org.modelcatalogue.core.remoteTesting.HistoryIsPopulatedAccordingToModelActivitySpec: начало | Запуск 246 Спока тесты ... 61 246 2018-08-16 10: 40: 28372 [RxComputationScheduler-4] INFO elasticsearch.ElasticSearchService - Индексация NEW_TESTING_MODEL [[email protected]] (ПРОЕКТ: DATACLASS: 168) 0 2018-08-16 10: 40: 29,315 [RxComputationScheduler-4] INFO elasticsearch.ElasticSearchService - Индексирование NEW_TESTING_MODEL [[email protected]] (Проект: DATACLASS: 168) 0 2018-08-16 10:40 : 29548 [RxComputationScheduler-7] INFO elasticsearch.ElasticSearchService - Индексирование TEST_ELEMENT [[email protected]] (ПРОЕКТ: DataElement: 169) 0 2018-08-16 10: 40: 30123 [HTTP-NiO-8190-Exec-9] INFO core.RelationshipService - Отношения NEW_TESTING_MODEL = [содержит] => TEST_ELEMENT проверяется наличие, но не нашел. Поиск отношения медленно, рекомендуется использовать флаг «skipUniqueChecking» для оптимистического отношения ссылки. 2018-08-16 10: 40: 30124 [HTTP-NiO-8190-Exec-9] INFO core.RelationshipService - Отношения NEW_TESTING_MODEL = [содержит] => TEST_ELEMENT проверяется на наличие, но не нашли. Поиск отношения медленно, рассмотрите возможность использования ' Флаг skipUniqueChecking»для оптимистического отношения ссылки. 2018-08-16 10: 40: 30371 [RxComputationScheduler-4] INFO elasticsearch.ElasticSearchService - Индексирование Отношения [ID: 76, источник: NEW_TESTING_MODEL [[email protected]] (Проект: DATACLASS: 168), назначение: TEST_ELEMENT [169 @ 0.0.1] (ПРОЕКТ: DataElement: 169), тип: локализация] 0 2018-08-16 10: 40: 42515 [RxComputationScheduler-1] INFO elasticsearch.ElasticSearchService - Индексирование Boolean [[email protected]] (ФИНАЛИЗИРОВАН: ТипДанных: 30) 0 2018-08-16 10: 40: +42581 [HTTP-NiO-8190-Exec-1] INFO elasticsearch.ElasticSearchService - Индексирование Отношения [ID: 77, источник: Boolean [[email protected]] (ФИНАЛИЗИРОВАН : ТипДанный: 30), назначение: Boolean [[email protected]] (ПРОЕКТ: ТипДанное: 170), тип: происхождение] 2 # # неисправимая ошибка была обнаружена с помощью Java Runtime Environment: # # SIGSEGV (0xB) в рс = 0x00000001098d13e4, PID = 8654, TID = 0x0000000000005103 # # JRE версия: OpenJDK Runtime Environment (8.0_181-B02) (сборка 1.8.0_181-B02) # Java VM: OpenJDK 64-разрядный сервер ВМ (25,181-B02 смешанного режим BSD-amd64 сжатого ой) # Проблематичный кадра : # V [libjvm.dylib + 0xf33e4] GraphBuilder :: try_inline_full (ciMethod *, логический, байт-код ::, инструкция *) + 0x4d6 # # Не удалось записать дамп. Дамп отключены. Чтобы включить ядро ​​демпинга, попробуйте "ULIMIT -c неограничен" перед запуском Java снова # # Файл отчета об ошибке с дополнительной информацией сохраняются как: # / Users / Джеймсе / Документы / работа / metadata_consulting / our_code / Хранилище / MetadataConsulting / ModelCataloguePluginTesting / ModelCatalogueCorePluginTestApp /hs_err_pid8654.log # # Compiler переигровка данные сохраняются в виде: # /Users/james/Documents/work/metadata_consulting/our_code/repositories/MetadataConsulting/ModelCataloguePluginTesting/ModelCatalogueCorePluginTestApp/replay_pid8654.log # # Если вы хотите сообщить об ошибке, пожалуйста, посетите: # http://www.azulsystems.com / поддержка / # | Ошибка: Убедитесь, что история заполняется в соответствии с активностью сделал на модели (org.modelcatalogue.core.remoteTesting.HistoryIsPopulatedAccordingToModelActivitySpec) | org.openqa.selenium.WebDriverException: неизвестная ошибка: Элемент ... не кликабельны в точке (46, 312). Другой элемент получит щелчок: ... (информация Session: хром = 68.0.3440.106) (Информация о Driver: chromedriver = 2.41.578706 (5f725d1b4f0a4acbf5259df887244095596231db), платформа = Mac OS X 10.12.6 x86_64) (ПРЕДУПРЕЖДЕНИЕ: Сервер не предоставлять какую-либо информацию StackTrace) длительность команд или тайм-аут: dylib + 0xe7f99] Составление :: compile_method () + 0x6d В [libjvm.dylib + 0xe81ae] Составление :: Составление (AbstractCompiler *, * ciEnv, ciMethod *, Int, BufferBlob *) + 0x1a2 В [libjvm.dylib + 0xe89a0] Компилятор :: compile_method (ciEnv *, ciMethod *, Int) + 0x90 V [libjvm.dylib + 0x1b3d78] CompileBroker :: invoke_compiler_on_method (CompileTask *) + 0x5b2 В [libjvm.dylib + 0x1b62bf] CompileBroker :: compiler_thread_loop () + 0x291 В [ libjvm.dylib + 0x53eca1] JavaThread :: thread_main_inner () + 0x9b В [libjvm.dylib + 0x540366] JavaThread :: Run () + 0x1c0 В [libjvm.dylib + 0x4609ea] java_start (тема *) + 0xf6 С [libsystem_pthread.dylib + 0x393b] _pthread_body + 0xb4 С [libsystem_pthread.dylib + 0x3887] _pthread_body + 0x0 С [libsystem_pthread.dylib + 0x308d] thread_start + 0xD С 0x0000000000000000 Текущий CompileTask: C1: 1144349 36863! 3 org.modelcatalogue.core.persistence.
passionfruit18
1

голосов
0

ответ
33

Просмотры

Django StaticLiveServerTestCase does not show data in grouped test

I am writing functional tests using Selenium for an app written in Django 1.9. I have a function populate_test_db() that creates some test data using factory_boy: def populate_test_db(self): """ Adds records to an empty test database """ self.coder = UserFactory.create() self.country = CountryFactory.create() self.assignment = AssignmentFactory.create() self.assignment_progress = AssignmentProgressFactory.create(assignment = self.assignment) self.article = ArticleFactory.create(assignments = (self.assignment,)) self.articles = ArticleFactory.create_batch(100, assignments = (self.assignment,)) return self I call this function when setting up the functional tests for my app like this: from functional_tests.testing_utilities import populate_test_db class NewUserTest(StaticLiveServerTestCase): def setUp(self): self.browser = webdriver.Chrome() populate_test_db(self) (I also have tried using setUpTestData() but that doesn't seem to work either with StaticLiveServerTestCase). I then run the two following tests: def test_can_login_to_site(self): self.browser.get(self.live_server_url) username = self.browser.find_element_by_css_selector('#login_form > table > tbody > tr:nth-child(1) > td:nth-child(2) > input[type="text"]') username.send_keys('bobby') password = self.browser.find_element_by_css_selector('#login_form > table > tbody > tr:nth-child(2) > td:nth-child(2) > input[type="password"]') password.send_keys('very_secure') password.send_keys(Keys.ENTER) time.sleep(1) assignment = self.browser.find_element_by_css_selector('#assignments > table > tbody > tr:nth-child(2) > td:nth-child(1) > a') self.assertIn(self.assignment.country.state_name, assignment.text) def test_can_access_assignment(self): print(self.coder) print(self.assignment) self.browser.get(self.live_server_url) username = self.browser.find_element_by_css_selector('#login_form > table > tbody > tr:nth-child(1) > td:nth-child(2) > input[type="text"]') username.send_keys('bobby') password = self.browser.find_element_by_css_selector('#login_form > table > tbody > tr:nth-child(2) > td:nth-child(2) > input[type="password"]') password.send_keys('very_secure') password.send_keys(Keys.ENTER) time.sleep(1) assignment = self.browser.find_element_by_css_selector('#assignments > table > tbody > tr:nth-child(2) > td:nth-child(1) > a') assignment.click() time.sleep(1) headline = self.browser.find_element_by_css_selector('#article-info > h2') self.assertIn(self.article.headline, headline.text) Both tests pass independently (i.e. when the other one is commented out), but not when both are active at the same time. When both are active, one of them fails with the following message: File "path/to/app/functional_tests/test_functional_tests.py", line 64, in test_can_access_assignment assignment = self.browser.find_element_by_css_selector('#assignments > table > tbody > tr:nth-child(2) > td:nth-child(1) > a') .... selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"#assignments > table > tbody > tr:nth-child(2) > td:nth-child(1) > a"} Even though the same element just did appear in the previous test (so the first test passes, the second test doesn't). Why is that?
LukasKawerau
1

голосов
1

ответ
366

Просмотры

Распределение узла Хадсон CI / prebuild задача в проекте мульти-конфигурации

Я в настоящее время создание небольшой сетки Hudson узлов, чтобы использовать их для распределенного тестирования различных конфигураций во время выполнения нашей продукции. Есть ли способ, чтобы вызвать запуск узла, когда задание вызывается? Фаза сборки «проект мульти-конфигурации», который я использую уже хочет работать в активном узле. Может быть, есть способ, чтобы добавить шаг prebuild, который будет выполнен в рамках мастера? Единственное возможное решение, которое я могу себе представить, чтобы добавить вверх по течению проекта, который работает до проекта «мульти конфигурации», которая начнет узлы. Привет Джо
Joe
1

голосов
1

ответ
881

Просмотры

Автоматизация тестирования сервера XMPP с несколькими экземплярами клиента

Я работаю на тестовый набор для сервера XMPP. В настоящее время я реализовал клиент, способный соединить, создать учетную запись, отправить строфы, взятые из файла XML, получить ответ, сохраните его в другой файл и сравнить его с ожидаемым выходом. Я могу создать несколько клиентов, но я ищу для одновременной работы. Как я могу идти о том, чтобы несколько клиентов общаться друг с другом? Мое видение - поставить клиентов в отдельные потоки и команды как "ждать ответа. Любые советы ценятся ...
Anton
1

голосов
1

ответ
752

Просмотры

Как записать скрипт и keywordTest в TestComplete вместе?

Мой вопрос, Can TestComplete запись сценария и keywordTest вместе? Потому что, когда я тестирую мое приложение, он либо запись сценария или keywordTest, но не как параллельно. Как я могу это сделать?
Ali Ahmed
1

голосов
1

ответ
383

Просмотры

Рельсы светильники и функциональные тесты

Я пользовательский эшафот основан от аутентификации Railscasts с нуля и использует атрибут пароля, как бы я позволил тесту пройти и сделать свои светильники с паролем не является полем в таблице, а password_hash и password_salt есть? Я имею в модели следующего код, и это первая линия, я считаю, причины пользователь не увеличивается. Как я могу это исправить? validates_presence_of: пароль: по =>: создать validates_confirmation_of: пароль Я думаю, что я нашел этот вопрос, но не имею ни малейшего представления о том, как это исправить. Я называю следующий код и он не включает в себя пароль или password_confirmation, даже если я пытаюсь добавить его атрибуты. почта: создать, пользователь: @ user.attributes
1

голосов
1

ответ
343

Просмотры

Функциональные Testcases для формы с использованием Symfony

Я пишу простой код для contqact формы, которые содержат поля имя, адрес электронной почты и сообщение. Я хочу писать тесты для того, чтобы проверить пользователя ввести значение поля являются соответствие с ожидаемым значением или нет. Но им не получает пользователь вводит значение в то время как я исполняю файл «contactTest.php» с помощью команды «./symfony тест: функциональный интерфейс контакт» Код: введите код здесь Пожалуйста, помогите мне написать TestCase для проверки пользователя, введите значение в форме и ожидаемые значения , А также предложить, как запустить и проверить?
Priti
1

голосов
3

ответ
791

Просмотры

Автоматическая запись Функциональных тестовых случаев для IE Сайта [закрыто]

Запись вручную проверить случаи в Watir и Селен довольно легко (а иногда безмозглый!), Но я хотел бы, чтобы автоматически записывать тестовые случаи в то время как я использую веб-сайт. Это становится очень удобно, особенно для не-разработчиков, как QA и тестирование менеджеров. Эти люди, конечно, не хотят возиться с кодом. Проблема заключается в том, что один из сайтов я тестирование IE только и, следовательно, такие инструменты, как расширение Селен FF автоматически исключаются. Поэтому я проверяю альтернативные решения с открытым исходным кодом, которые подходят также для IE. Одним из них является Сахи, который имеет прокси, который может записывать тестовый случай, но это происходит по цене. Каково твое мнение?
user164701
1

голосов
2

ответ
432

Просмотры

Rails 3 functional test - 'get()'can't access a controller method

В моем проекте, рассказы принадлежат пользователям и, как правило, все истории доступ через вложенную ресурсообеспечению, за исключением действия, чтобы показать глобальный список всех историй. В моем routes.rb файле у меня есть: ресурсы: пользователи делают ресурсы: истории заканчиваются матч «/ all_stories» => «истории # all_stories» заявление матча генерирует следующий маршрут: all_stories /all_stories(.:format) {: контроллер => «истории»,: действие => «all_stories»} В моем файле stories_controller.rb у меня есть действие называется: all_stories. Защиту all_stories @stories = Story.all не конец С моей точки зрения, я звоню link_to подобным образом: в результате этой ошибки: нет соответствующего маршрута {: действие => «шоу»,: контроллер => «истории»,: user_id => ноль,: идентификатор => #} В моей stories_controller_test.
Don Leatham
1

голосов
2

ответ
197

Просмотры

When to test what with Cucumber and Rails

Как я пишу тесты в огурце и Ruby On Rails, я постоянно задавал себе этот вопрос. Когда я могу проверить «как создать X» против «может быть создан X» Как создать X, кажется, охватывает тестирование фактических шагов, которые он принимает для пользователя, чтобы создать X, обычно через форму. Такие, как перейти на новую страницу, нажмите «X» создать ссылку, заполните форму и нажмите на кнопку Создать, а затем увидеть, что X был создан. В качестве альтернативы, «может быть создан х», является ли система, модель и контроллер, ручка способность создавать X, иначе они подключены правильно. Как я обычно проверить оба этих сценариев? Я просто только начал писать Вопросы и ответы часть моей стороне проекта, и не мог решить, стоит ли писать тест что-то вроде (я удалил фон, они являются своего рода долго) Когда я нажимаю " И я заполняю форму с вопросом и отправить форму Тогда я должен видеть, что этот вопрос был создан и пользователь, который отправил задание было направлено уведомление или оно должно быть больше как Когда я задаю вопрос продавцу Тогда я должен видеть что вопрос был размещен И пользователь, который отправил задание был уведомлен разницей в том, создавать ли я его через форму или на завод, правильно? Где Rspec вступает в игру, я думаю, что это должно быть Тестирование «может быть создан X» и это значит, что я не должен использовать огурец, чтобы проверить, что? Я думаю, что я в основном смотрел на «Что я испытываю с огурцами», но, возможно, я делаю это сложнее, чем это, но у меня возникли проблемы приходя к выводу по себе. Любое понимание у вас есть было бы здорово. И я заполняю форму с вопросом и отправить форму Тогда я должен видеть, что этот вопрос был создан и пользователь, который отправил задание было направлено уведомление или оно должно быть больше как Когда я задаю вопрос продавцу Тогда я должен видеть что вопрос был размещен И пользователь, который отправил задание был уведомлен разницей в том, создавать ли я его через форму или на завод, правильно? Где Rspec вступает в игру, я думаю, что это должно быть Тестирование «может быть создан X» и это значит, что я не должен использовать огурец, чтобы проверить, что? Я думаю, что я в основном смотрел на «Что я испытываю с огурцами», но, возможно, я делаю это сложнее, чем это, но у меня возникли проблемы приходя к выводу по себе. Любое понимание у вас есть было бы здорово.
ruevaughn
1

голосов
1

ответ
258

Просмотры

Stack Level Too Deep ошибка в тестовой среде только, и только при выполнении теста грабли: функционалы

Я обновление приложения с Rails 3.1 на Ruby, Rails 1.9.2 с 3.2 на Руби 1.9.3. Когда я шагаю через приложение в процессе развития все кажется хорошо. У меня нет никаких проблем с тестом грабель: единицы. Но когда я запускаю тест грабли: функционалы, я получаю «уровень стека слишком глубоко ошибки» в одном из моих контроллеров. Запуск теста только для этого контроллера, все в порядке: рубин -Itest тест / функционал / administrators_controller_test.rb и вот полный текст ошибки (я поворачиваю установлен чуть красивее выход): ERROR (0: 00: 00,012) приходит первый стек уровень слишком глубоко @ /usr/local/rvm/gems/[email protected]/gems/actionpack-3.2.8/lib/abstract_controller/layouts.rb:358 Я уверен, что я просто идиотом, но я не имею ни малейшего представления о том, как получить трассировку стека внутри рамки. Запуск теста грабли: функционалы --trace производит такую ​​же ошибку и тот же результат. Я также изменил config.log_level для: отладки и незакомментированной Rails.backtrace_cleaner.remove_silencers! в конфигурации / инициализаторах / backtrace_silencers.rb. Я могу запускать другие задачи, грабли и грабли теста: единицы проходит все испытания. Кто-нибудь есть ключ? Я мог бы использовать один.
Zee
1

голосов
1

ответ
45

Просмотры

Rspec Stubbing Поведение

У меня возникли некоторые проблемы с заглушками, и я думаю, что я должен быть недопонимание, как они работают. Есть ли окурки существовать только в контексте того, что они созданы? Это мое ожидание, но в моем опыте, если я окурок метода в контексте он все еще существует в другом контексте. мой тестовый контроллер похож на это: описать».load_articles' делает контекст„статьи“делать раньше (: каждый) делает Article.stub_chain (: meth1,: meth2) .and_return ([„статьи“]) конец его„устанавливает статью“ делать controller.load_articles.should == [ 'статьи'] конец конца контекста 'нет статьи' делать до (: каждый) делают Article.stub_chain (: meth1,: meth2) .and_return ([]) конец это устанавливает статья "делать controller.load_articles.should == [] конец конец конец и для второго примера контроллера. load_articles прежнему возвращает [ «статью»], когда я ожидал [] Я застрял на этом слишком долго; любая помощь очень ценится!
telecasterrok
1

голосов
1

ответ
142

Просмотры

«Нажмите» узел, отличный якорь в функциональном тесте Symfony2

У меня есть элемент, который имеет щелчок слушатель, связанный с ним с JQuery. Можно ли «щелчок» этот элемент с клиентом / гусеничным, чтобы проверить результат. До сих пор я только нашел способы следовать якорным ссылкам. Спасибо
Thomas K
1

голосов
1

ответ
1.4k

Просмотры

PHPUnit утверждает, что элемент имеет значение

Я использую PHPUnit для фреймворка. Пытался создать функциональный тест. Как проверить, что существующий элемент или метка имеет значение. Я прочитал, что $ этом-> assertQuery ( 'вход # valid_from [значение = ""]', 1); используется для проверки пустых значений. Но в моем случае, если я хочу, чтобы проверить, что метка или поле только для чтения имеет значение.
Pelang
1

голосов
1

ответ
576

Просмотры

питон UnitTest запустить сервер и клиент и передать raw_input

У меня есть простой сокет игра питона, который имеет серверные и клиентские сценарии. Я при условии модульных тестов с использованием UnitTest модуля (для проверки абстрактной логики игры), и теперь я хочу, чтобы обеспечить функциональные тесты (чтобы проверить реальную сокет игры выполнение). Из кода Python, я хотел бы, чтобы запустить сервер, а затем клиент. Эти функции использования raw_input (py2.7), так что мне нужно, чтобы передать некоторую информацию этих сценариев (каждая игра движение считывается из консоли с помощью raw_input). Как я могу сделать это в Python / UnitTest? Я имею в виду - как я могу запускать внешние сценарии и передавать консольный ввод в них - от питона кода?
ducin
1

голосов
1

ответ
388

Просмотры

Can't destroy current_user in functional test for sign_out method

I want to test signin / signout methods with this test: test/controllers/sessions_controller_test.rb class SessionsControllerTest < ActionController::TestCase fixtures :users include SessionsHelper test "should signin and signout" do get :new assert_response :success post :create, email: users(:alex).email, password: 'qwerty' assert_redirected_to profile_url assert cookies[:remember_token] assert current_user == users(:alex), 'Ooops! Wrong current_user!' delete :destroy assert_redirected_to signin_url debugger assert !cookies[:remember_token] => assert !current_user, 'Ooops! Current_user not nil!' end end In => point cookies[:remember_token] is gone, but current_user still users(:alex), and I don't understand why. Did I missed smth in delete :destroy line? Integrations tests are passing and live performance in browser with sign-out act also do the trick. Methods from sessions controller and helper: sessions_controller.rb def destroy sign_out redirect_to signin_url end sessions_helper.rb def current_user=(user) @current_user = user end def current_user remember_token = User.encrypt(cookies[:remember_token]) @current_user ||= User.find_by(remember_token: remember_token) end def sign_out cookies.delete(:remember_token) self.current_user = nil end
Alex Fedoseev
1

голосов
1

ответ
58

Просмотры

Функциональный тест не пройден, хотя содержание существует

В функциональном тесте ниже, утверждение о том, что текст «Glenshire» существует не удается, даже если выход эхо $ client-> GetResponse () -> getContent (); включает Glenshire ... Первые два утверждения верны. Там нет редиректа. Тест класс SearchTest расширяет WebTestCase {функция нАлАдкА общественности () {$ классы = массив ( 'т \ VolBundle \ DataFixtures \ ORM \ LoadFocusSkillData', 'т \ VolBundle \ DataFixtures \ ORM \ LoadOpportunity'); $ This-> loadFixtures ($ классов); } Функция testSearch общественности () {$ клиент = статическая :: createClient (); $ Гусеничный = $ client-> запрос ( 'GET', '/ поиск'); $ This-> assertTrue ($ crawler-> фильтр ( 'HTML: содержит ( "Фокус")') -> Количество ()> 0); $ This-> assertTrue ($ crawler-> фильтр ( 'HTML: содержит ( "Skill")') -> Количество ()> 0); $ Форма = $ crawler-> selectButton ( 'match_search [Submit]') -> вид (); $ Форма [ 'match_search [фокусируется] [0]'] = 1; $ Client-> отправить ($ форма); Эхо $ client-> GetResponse () -> getContent (); $ This-> assertTrue ($ crawler-> фильтр ( 'ли: содержит ( "Glenshire")') -> счетчик ()> 0, 'Glenshire не найден'); } Светильник (с использованием LiipFunctionalTestBundle) публичную функцию загрузки (ObjectManager $ менеджер) {$ Manager-> ясно (); $ Орг = новая организация (); $ Org-> setOrganization ( 'Glenshire Marmot фонд'); $ Foc1 = $ Manager-> getRepository ( "VolVolBundle: Focus") -> находка (1); $ Foc3 = $ Manager-> getRepository (» Feeder '); $ Opp-> setDescription ( "Beyond регресса"); $ Opp-> setExpireDate (DATE_ADD (новый \ DateTime (), новый \ DateInterval ( 'P1Y'))); $ Opp-> setOrganization ($ орг); $ Manager-> сохраняются ($ ОПП); $ Manager-> заподлицо (); } Feeder '); $ Opp-> setDescription ( "Beyond регресса"); $ Opp-> setExpireDate (DATE_ADD (новый \ DateTime (), новый \ DateInterval ( 'P1Y'))); $ Opp-> setOrganization ($ орг); $ Manager-> сохраняются ($ ОПП); $ Manager-> заподлицо (); }
geoB
1

голосов
1

ответ
162

Просмотры

Функциональная проверка электронной почты не выполняется, если тестирование действие перенаправляет

Акция контроллера вызывает электронную почту для отправки, а затем перенаправляет. Функциональный тест этого действия не удается из-за редирект. Если контроллер переписан, чтобы сделать шаблон тест проходит. [Это, как представляется, в целом верно; ситуация может быть воспроизведена с помощью кода в [документации Symfony в] [1]]. Edit: Неудачный тест "/ USR / бен / PHP" "/ USR / бен / PHPUnit" "--colors" "--log-JUnit" "/tmp/nb-phpunit-log.xml" "--bootstrap" " /home/george/volunteer/app/bootstrap.php.cache " "--configuration" "/home/george/volunteer/app/phpunit.xml.dist" "--filter" "% \ btestActivateOrganization \ б%"" /home/george/netbeans-8.0.1/php/phpunit/NetBeansSuite.php»" setTemp (ложь); $ В организационном> SetActive (истина); $ OrgName = $ в организационном> getOrgName (); $ Em-> сохраняются ($ организация); $ Em-> заподлицо (); $ К = $ em-> getRepository ( "TruckeeMatchingBundle: Персонал") -> getActivePersons ($ ID); $ Почтовик = $ this-> container-> Get ( 'admin.mailer'); $ Mailer-> activateOrgMail ($ организация, $ к); $ Флэш = $ this-> Get ( 'braincrafted_bootstrap.flash'); $ Flash-> успех ( "$ OrgName был активирован"); } Вернуть $ this-> перенаправлять ($ this-> generateUrl ( 'admin_home')); } Edit 3: Более полный класс испытательного стенда AdminControllerTest расширяет WebTestCase {частных $ клиента; Функция настройки общественности () {$ классы = массив ( ' Траки \ MatchingBundle \ DataFixtures \ SampleData \ LoadFocusSkillData ' 'Траки \ MatchingBundle \ DataFixtures \ SampleData \ LoadAdminUser', 'Траки \ MatchingBundle \ DataFixtures \ SampleData \ LoadStaffUserGlenshire', 'Траки \ MatchingBundle \ DataFixtures \ SampleData \ LoadStaffUserMelanzane',' Траки \ MatchingBundle \ DataFixtures \ SampleData \ LoadTemplateData», 'Траки \ MatchingBundle \ DataFixtures \ SampleData \ LoadOpportunity', 'Траки \ MatchingBundle \ DataFixtures \ SampleData \ LoadVolunteer'); $ This-> loadFixtures ($ классов); $ This-> клиент = $ this-> createClient (); $ This-> client-> followRedirects (); } Функция Войти общественности ($ пользователю) {$ гусеничный = $ this-> client-> запрос ( 'GET' , '/авторизоваться'); $ Форма = $ crawler-> selectButton ( 'Войти') -> форма (); $ Форма [ '_ имя пользователя'] = $ пользователя; $ Форма [ '_ пароль'] = '123Abcd'; $ Гусеничного = $ этом-> клиент-> отправить ($ форма); вернуть $ искателя; } Функция testActivateOrganization общественности () {$ гусеничный = $ this-> для входа ( 'администратора'); $ Ссылка = $ crawler-> selectLink ( 'Accept организации') -> ссылка (); $ Гусеничный = $ this-> client-> нажмите ($ ссылку); $ MailCollector = $ this-> client-> getProfile () -> getCollector ( 'SwiftMailer'); $ This-> assertEquals (1, $ mailCollector-> getMessageCount ()); } ...} $ Форма [ '_ пароль'] = '123Abcd'; $ Гусеничного = $ этом-> клиент-> отправить ($ форма); вернуть $ искателя; } Функция testActivateOrganization общественности () {$ гусеничный = $ this-> для входа ( 'администратора'); $ Ссылка = $ crawler-> selectLink ( 'Accept организации') -> ссылка (); $ Гусеничный = $ this-> client-> нажмите ($ ссылку); $ MailCollector = $ this-> client-> getProfile () -> getCollector ( 'SwiftMailer'); $ This-> assertEquals (1, $ mailCollector-> getMessageCount ()); } ...} $ Форма [ '_ пароль'] = '123Abcd'; $ Гусеничного = $ этом-> клиент-> отправить ($ форма); вернуть $ искателя; } Функция testActivateOrganization общественности () {$ гусеничный = $ this-> для входа ( 'администратора'); $ Ссылка = $ crawler-> selectLink ( 'Accept организации') -> ссылка (); $ Гусеничный = $ this-> client-> нажмите ($ ссылку); $ MailCollector = $ this-> client-> getProfile () -> getCollector ( 'SwiftMailer'); $ This-> assertEquals (1, $ mailCollector-> getMessageCount ()); } ...} Accept организации ') -> ссылка (); $ Гусеничный = $ this-> client-> нажмите ($ ссылку); $ MailCollector = $ this-> client-> getProfile () -> getCollector ( 'SwiftMailer'); $ This-> assertEquals (1, $ mailCollector-> getMessageCount ()); } ...} Accept организации ') -> ссылка (); $ Гусеничный = $ this-> client-> нажмите ($ ссылку); $ MailCollector = $ this-> client-> getProfile () -> getCollector ( 'SwiftMailer'); $ This-> assertEquals (1, $ mailCollector-> getMessageCount ()); } ...}
geoB
1

голосов
1

ответ
88

Просмотры

Как я могу загрузить расширение Firefox кросс-платформенный в функциональной среде тест CI?

Я пытаюсь запустить функциональные тесты в Firefox некоторых Javascript код, который полагается на расширение для загрузки. В Chrome, я в состоянии сделать это, говоря пусковой браузер для запуска Chrome с --load-расширение =. Я не нашел аналог этого в Firefox, ни какой-либо другой простой способ сделать это. Моя первая попытка была попытка запустить Firefox с помощью пользовательского профиля с помощью переключателя -profile командной строки, но при попытке перепроектировать метаданные расширения профиля Firefox он выглядит как есть некоторые абсолютные пути там, что бы сделать профиль не переносим (т.е. я не мог проверить его в мерзавец и есть другой разработчик сможет клонировать и запустить тесты, потому что он будет искать путей моей машины). Кто-нибудь знает хороший способ справиться с этим? Я бы очень хотел, если бы я не был вынужден генерировать расширения. JSon каждый раз, когда тесты запускаются. Для чего это стоит, я бег моих функциональных тестов с использованием кармы & кармой-FireFox-гранатомет в Node.js
Chad McElligott
1

голосов
1

ответ
463

Просмотры

Test plan for reporting system

У меня есть набор программного обеспечения, который состоит из нескольких интегрированных программных пакетов. Все они убегают из единой централизованной базы данных SQL. Мы находимся в той стадии, когда мы пишем планы тестирования и выделили один план тестирования для каждого независимого модуля программного обеспечения. Только один слева написать это план тестирования для модуля отчетов. Данный модуль не делает ничего, кроме отчетов по данным в базе данных SQL (которые будут написаны другими модулями). Любые итерации тестирования предшествуют разработчиков, регрессионного и интеграционного тестирования, которая должна устранить любые проблемы с базами данных не поддерживается корректно. Моя дилемма, как подойти черный план тестирования окна для модуля отчетов. Как я вижу это есть три варианта: Append тестовых отчетов для планов тестирования для модулей, которые влияют на их (обратная сторона: модули работают совместно для получения отчетов; отчеты не могут быть разделены модулем подобных) Написать план тестирования для отчетов с заданными предпосылками, которые в основном список инструкций задач для выполнения в других модулях, а затем тестами, чтобы проверить, что отчетность правильно производить в ответ на эти задачи (обратная сторона: очень сложная и многословно) Написать план тестирования для отчетов с заданными наборами данных на выделенном управляемой базе данных SQL (недостаток: отсутствие гибкости) Она смотрит на меня, что второй вариант является наилучшим. Это самый длинный скучный, но это само по себе вряд ли причина, чтобы обесценить что-то. Кто-нибудь есть опыт работы с тестирования модуля исключительно для отчетности, которые могут, мы надеемся обеспечить понимание лучших / стандартных промышленных способов сделать это? Заранее спасибо!
Raiden616
1

голосов
1

ответ
32

Просмотры

Функциональные (браузер) тесты в .NET как граждане первого класса

Одна из вещей, мне нравится Grails, что функциональные тесты являются гражданами первого класса проекта. Grails тест-приложение знает, как запустить тестовый сервер и запускать функциональные тесты, и призывает вас лечить функциональные тесты, как равные по статусу модульных тестов и испытаний интеграции. Это полезно, чтобы помочь управлять всей командой, чтобы нести ответственность за все формы испытаний, а не изолируя тесты на основе браузера в своем собственном отдельном бункере. Как бы я создал проект .NET, чтобы сделать что-то подобное? Конкретные признаки Я ищу тесты браузера являются часть того же браузера репо тестов выполняются как часть CI сборок (Jenkins, бамбук и т.д.) с обезглавленным закрытием браузера, чтобы выразить асинхронное условие ожидания (например, Waitfor {условие}) JQuery селекторы типа разработчики могут запускать тесты браузера из Visual Studio так же легко, как они могут запускать модульные тесты в идеале, я могу союз (добавить) покрытие на стороне сервера классов из тестов браузеров и модульных тестов, так что я могу показать, я не нужно писать тесты для контроллеров, охватываемых в тестах от конца до конца. Мне еще нужны модульные тесты, но счастливый путь для «утверждают контроллер передаются входы в макет сервиса / DAO» может уйти.
wrschneider
1

голосов
1

ответ
60

Просмотры

Тест Debugging sfPHPUnit Symfony1.4

Эй, извините, если этот вопрос является слишком специфичен, но Im имея реорганизовать некоторое наследство Symfony1.4 кода, и я не могу работать, как сбросить ответ запроса GET в тесте, чтобы помочь отладке странной ошибки. Тест на вопрос выглядит следующим образом: функция testDataset общественности () {$ браузер = $ this-> getBrowser (); $ Browser-> Get ( '/ поиск / набор данных') -> с ( '' запроса) -> начать () -> isParameter ( 'модуль', 'Поиск') -> isParameter ( 'действие', 'набор данных') -> конец () -> с ( 'ответ') -> начать () -> isStatusCode (200) -> checkElement ( 'тело', '/ Выберите набор данных /') -> checkElement ( '# compareBy', ' / высокая плотность жилищной / ') -> checkElement (' # compareBy ' '/ средняя плотность жилой /') -> checkElement ( '# compareBy',' checkElement ( '# DataLocation', '/ Отаго /') -> checkElement ( '# DataLocation', '/ Southland /') -> checkElement ( '# waterTypes', '/ All ливневой /') -> checkElement ( '# waterTypes', '/ Необработанные ливневой /') -> checkElement ( '# waterTypes', '/ Обработанные ливневой /') -> checkElement ( '# waterTypes', '/ Городские потоки /') -> checkElement ( '# waterTypes' , '/ Все типы воды /') -> checkElement ( '# flowType', '/ Storm событий /') -> checkElement ( '# flowType', '/ межень /') -> конец (); } И его неудача с: functional_frontend_searchActionsTest :: testDataset селектор ответа «#compareBy» соответствует регулярному выражению «/ высокой плотность жилищной /» Failed утверждающим, что ложь является правдой. Страница загружается нормально, но я не» знаю, как на самом деле сбросить тело страницы ответа в тесте, чтобы исследовать то, что тест видит. Ive пытался $ browser-> getContent (), $ browser-> GetResponse (), $ browser-> getBody () .. Это довольно тривиально в PHPUnit / Symfony2 и Im уверен, что есть способ сделать это, может кто-нибудь помочь?
Aaron Cole
1

голосов
1

ответ
656

Просмотры

Как запустить определенный тестовый случай из тестового набора с помощью InternIO

В настоящее время, у меня есть несколько тестов. Для того, чтобы избежать запуска всего набора тестов - как я могу работать только один тестовый пример из пакета. Мой текущий обходной путем является закомментировать тестовые случаи я не хочу. Мой intern.js файл: определить ({среды: [{browserName: 'хром'},], useSauceConnect: ложь, // functionalSuites: [ 'тесты / проекты / Projecta / main.js'], туннель: 'NullTunnel', excludeInstrumentation: /./}); Следующий мой файл main.js: [ '! Стажер / Chai утверждать' 'стажера', '! Стажер объект',] определить (функция (стажер, registerSuite, утверждают) {registerSuite (функция () {вар someLib; возврат {настройка: функция () {}, 'TC001 - Функциональность 1': функция () {}, 'TC002 - Функциональность 2': функция () {}, 'TC003 - Функциональность 3': функция () {},}; }); }); Я бегу это с помощью командной строки: Для запуска - я выполняю следующую команду: $ node_modules / .bin / стажер-бегун конфигурации = тесты / стажер functionalSuites = тесты / проекты / Projecta / main.js Есть ли способ пробег сказать только «TC001 - Функциональность 1» и другие выбранным тестовые случаи без комментирования других случаев тестов из пакета?
MinimalMaximizer
1

голосов
2

ответ
517

Просмотры

Выполнение тестов SoapUI параллельно Maven

Кто-нибудь знает, если это возможно, чтобы выполнить тесты SoapUI параллельно Maven? У меня есть много мыла тестов в моем проекте, это было бы здорово, чтобы запустить их параллельно на Дженкинс.
user2993815
1

голосов
1

ответ
278

Просмотры

Codeception Добавление пользовательских утверждают действия (функциональное тестирование)

Я пытаюсь добавить новые методы утверждают, чтобы Codeception, но без успеха. Проблема заключается в том, что я не уверен, куда девать мои помощники, После дока (http://codeception.com/docs/06-ReusingTestCode), я думаю, что я должен создать новый класс Helper, но у меня нет _support папка. В тестах я только _output папки (за исключением моих папок). Любая помощь будет принята с благодарностью.
nevermind
1

голосов
1

ответ
128

Просмотры

Бок о бок Функциональные и приемочные испытания (SpecFlow)

Edit: кажется, связан этот вопрос Этот вопрос не о различиях между функциональными и приемочными испытаниями! Почти вся информация, я смог найти в Интернете просто объясняет разницу между ними. Я знаю, что функциональные тесты (FT) Статистика устранения условий бахромой и сценарии ошибок, а приемочных испытаний адрес бизнес-требований (АТ). Я достигну как с SpecFlow. У меня возникли некоторые проблемы с оберточной мою голову вокруг разделения двух, из / иерархии точки зрения структуры проекта. В настоящее время, у меня есть один блок-тестовый проект с папкой AcceptanceTests и папка FunctionalTests. Все мои определения шага перемешаны вместе в папке StepDefinitions. Я считаю, мне приходится повторять себя много, и что панель MSTest просто смешивает все вместе, когда я группа по Признакам. Я хочу, чтобы установить, что стандарт промышленности там, так что у меня есть пять вопросов: Должен ли я повторить «Для того, чтобы ... как ... я хочу ...» история в отдельном художественном-файле для АТ и FT-х? Должен ли я повторить все сценарии ТД в FT, а также, или сценарии условий только бахрома? Должен ли я держать АТА и ФТ в своих собственных пространствах имен и / или их собственных проектах? Если я пытаюсь вызвать методы ступенчатого сценария ФТА от определений шага AT, видя, как пехотинец-работа ведется по ФУТАМ в любом случае? Любые советы о моей текущей настройке (например, это излишество сделать так?) Приветствуется. ы сценарии в FT, а также, или только сценарии состояния бахромы? Должен ли я держать АТА и ФТ в своих собственных пространствах имен и / или их собственных проектах? Если я пытаюсь вызвать методы ступенчатого сценария ФТА от определений шага AT, видя, как пехотинец-работа ведется по ФУТАМ в любом случае? Любые советы о моей текущей настройке (например, это излишество сделать так?) Приветствуется. ы сценарии в FT, а также, или только сценарии состояния бахромы? Должен ли я держать АТА и ФТ в своих собственных пространствах имен и / или их собственных проектах? Если я пытаюсь вызвать методы ступенчатого сценария ФТА от определений шага AT, видя, как пехотинец-работа ведется по ФУТАМ в любом случае? Любые советы о моей текущей настройке (например, это излишество сделать так?) Приветствуется.
Heliac
1

голосов
1

ответ
687

Просмотры

Force Селен в Python, чтобы ждать, пока браузер не загрузится

Я в настоящее время программирования примеров в «Test-Driven Development с Python», более конкретно первым функциональным тест. Основные части моего кода следующим образом: Защиту нАлАдкА (Я): self.browser = webdriver.Firefox () self.browser.implicitly_wait (20) Я говорю Селен сделать неявное ожидание в течение 20 секунд до тех пор, пока не найдет какой бы она ищет. InputBox = self.browser.find_element_by_id ( 'id_new_item') self.assertEqual (inputbox.get_attribute ( 'заполнителем'), 'Введите To-Do пункт') inputbox.send_keys ( 'Купить павлиньи перья') inputbox.send_keys (ключи. ENTER) таблица = self.browser.find_element_by_id 'id_list_table') строк = table.find_elements_by_tag_name ( 'тр') self.assertIn (( '1: Покупка перо павлины', [строка. текст для строки в строках]) Самая большая проблема здесь находятся в следующих строках: inputbox.send_keys ( «Купить павлиньи перья») inputbox.send_keys (Keys.ENTER) таблицы = self.browser.find_element_by_id ( «id_list_table») Он пишет " Купить павлиньи перья»в поле ввода. Он прижимает войти. Он сразу же после того, как, пытается найти элементы в таблице. Проблема в том, что мой компьютер не так быстро. К тому времени элементы найдены, браузер все еще пытается загрузить скрипт, и утверждают, терпит неудачу. Я знаю, что есть два типа ждет Селена: неявного (уже прилагается) и явными (сделали некоторые исследования на нем). Мои проблемы с обеими являются следующими: неявные ожидания бесполезны, потому что элементы найдены, независимо от того, детали, что я ищу, или нет. Явные ожидания бесполезны, потому что страница такая же, как до, так и после того, как форма отправлена, и как таковой нет ничего ждать. time.sleep () висит скрипт, если используется слишком много. Да, я также проверил, что ITEM_TEXT правильно ссылок, в том числе имени атрибута :) Каковы мои другие варианты? Что я могу сделать, чтобы заставить Selenium ждать, пока не будет загружена страница? Спасибо заранее. EDIT: вид выглядит следующим образом, следуя примеру в книге. Lista де Quehaceres Того Lista де Quehaceres {% csrf_token%} 1: {{}} new_item_text в том числе имя атрибута :) Каковы мои другие варианты? Что я могу сделать, чтобы заставить Selenium ждать, пока не будет загружена страница? Спасибо заранее. EDIT: вид выглядит следующим образом, следуя примеру в книге. Lista де Quehaceres Того Lista де Quehaceres {% csrf_token%} 1: {{}} new_item_text в том числе имя атрибута :) Каковы мои другие варианты? Что я могу сделать, чтобы заставить Selenium ждать, пока не будет загружена страница? Спасибо заранее. EDIT: вид выглядит следующим образом, следуя примеру в книге. Lista де Quehaceres Того Lista де Quehaceres {% csrf_token%} 1: {{}} new_item_text
Carlos Vergara
1

голосов
1

ответ
47

Просмотры

Написание тестов для другого веб-сервиса

Я работаю в команде в качестве разработчика. Мы разработали продукт, где мы генерируем письма от заполнения некоторых XML-файла. Этот XML-файл содержит только некоторые тексты, которые должны отображаться в PDF-документе. Затем мы отправим этот XML через к другой области с помощью веб-сервиса (скажем, WS-A) вызова. Это WS-А возвращает сгенерированный PDF документ как поток байтов. Обратите внимание, что помимо генерации PDF-документ, бэкенд в WS-A отвечает за шаблон в формате PDF и как и где эти тексты XML отображаются в документе. Все до этого момента хорошо. Я также понимаю, что наша команда должна писать тесты, чтобы убедиться, что правильное содержимое XML заполняется перед его отправкой через WS-A. Мой вопрос, пишет тест, который проверяет этот PDF имеет право «тексты» (только текст проверка) наша команда» Несет ответственность? Или это что-то другая команда (ответственный за WS-бекенд) должен проверить, чтобы убедиться, что они не пропустите ничего в их PDF из XML они были предоставлены (перед отправкой его обратно к нам как поток байтов) ?
Mohammad Najar
1

голосов
2

ответ
481

Просмотры

Создание Спока тестов в режиме исполнения

Есть ли возможность создать Спок тесты во время выполнения? Я попытался создать несколько мета-методов в цикле в пределах GebSpec, но они игнорируются во время выполнения тестов. Или, может быть, кто-то может подсказать обходные пути? Заранее спасибо!
Anton Hlinisty
1

голосов
1

ответ
65

Просмотры

Есть ли альтернатива результат для модульных тестов Python, кроме Pass или провал?

Я пишу юнит-тесты, которые имеют зависимость базы данных (так что технически они функциональные тесты). Часто эти тесты не только полагаться на базу данных, чтобы быть живым и функциональным, но они также могут рассчитывать на определенные данные, которые будут доступны. Например, в одном тесте я мог бы запросить базу данных для извлечения данных образцов, которые я собираюсь использовать для тестирования обновления или удаления функции. Если данные уже не существует, то это не совсем неудача в этом контексте. Я только обеспокоен годен / не годен состояние обновления или удаления, и в этой ситуации мы даже не достаточно далеко, чтобы проверить его. Так что я не хочу, чтобы дать ложный положительный или ложный отрицательный. Есть элегантный способ иметь тест блок возврата 3-й возможный результат? Такие, как предупреждение?
Ben Harrison
1

голосов
1

ответ
106

Просмотры

Can we use dynatrace with protractor e2e tests?

Мы успешно создали сетку с помощью селена докер. Сейчас мы пытаемся иметь dynatrace всех метрик производительности для функциональных тестов пользовательского интерфейса, но я с очень трудное время, пытаясь получить dynatrace подключен через файл docker.yml. В соответствии с инструкциями, предоставленными dynatrace сообществом, это то, что я настроил: https://community.dynatrace.com/community/display/DOCDT62/Browser+Agent+Configuration У меня есть следующие переменные окружения, установленные в окне настройки. YML файл следующим образом: - DT_AGENTACTIVE = истина - DT_AGENTNAME = имя-агента - DT_SERVER = хост: порт Кроме того, в моем файле конфигурации транспортир это то, что у меня есть для Firefox и Chrome: {browserName: 'светлячок', shardTestFiles: правда, MaxInstances: 10, firefoxOptions: {арг: [ '--lang = еп', '--Window размер = 1024,3000']}}, // макс-рабочий стол-хром - по умолчанию размер экрана {browserName: 'хром', shardTestFiles: правда, MaxInstances: 10, chromeOptions: {арг: [ '- Ланг = еп», '--window размер = 1024,3000', '--disable-расширения']}} Я до сих пор не понимаю, что dynatrace агент в клиенте dynatrace. Любые идеи, что я могу делать неправильно? ]}} Я до сих пор не понимаю, что dynatrace агент в клиенте dynatrace. Любые идеи, что я могу делать неправильно? ]}} Я до сих пор не понимаю, что dynatrace агент в клиенте dynatrace. Любые идеи, что я могу делать неправильно?
pj013
1

голосов
2

ответ
85

Просмотры

Как издеваются запросы сервера / HTTP в Codename One для тестирования?

Я хочу написать функциональные тесты для моего Codename одно приложение. Чтобы сделать это, мне нужно, чтобы иметь возможность издеваться некоторые ответы сервера, так что они возвращают именно то, что мне нужно для конкретного теста. Одна вещь, которую я попытался сделать функции, которые посылают на HTTP запросы принять ConnectionRequest в качестве параметра, таким образом я могу впрыснуть что-то для имитации задержки в сети, а затем вызвать функцию обратного вызова с издевались ответ. Однако, когда я пытаюсь впрыснуть издевается из ConnectionRequest в способе приготовления теста единицы, они по-прежнему вводят после того, как приложение запускается, который не работает для моего случая, так как я послал запрос HTTP на старте приложения. Можно ли издеваться ConnectionRequest или сделать что-то эквивалентное перед запуском приложения?
Hristo Vrigazov
1

голосов
1

ответ
133

Просмотры

Как я могу найти ссылку на URL в моем функциональном тесте?

В документации тестирования Symfony, он показывает, как выбрать ссылку, содержащий конкретный текст: $ crawler-> selectLink ( «Нажмите здесь»); Но связь я ищу не всегда будет иметь один и тот же текст. Он будет говорить один из нескольких различных вещей, в зависимости от состояния записи, так что вместо этого, мне нужно найти его URL. Я думаю, что я могу понять, как сделать это с помощью XPATH фильтра. Это то, что я должен идти, или есть способ лучше?
Don't Panic
1

голосов
1

ответ
123

Просмотры

How to structure functional testing for a Django project

Я хотел бы создать функциональные тесты, чтобы покрыть мой проект Django. Это многостраничный форма, которая принимает входные данные на каждой странице. Вход на предыдущих страницах изменяет содержание / опции для текущей страницы. Тестирование в настоящее время создано с Сплинтера и PhantomJS. Я вижу два основных способа, чтобы установить это. Для каждой страницы, создать экземпляр этой страницы, используя сохраненные данные и точки Сплинтера к этому. Преимущества Позволяют случайное тестирование доступа любой страницы в приложении Можно повторно использовать определение модульного тестирования для заполнения этих синтетических страниц Downsides необходимы вид задней части должны быть создано, что Splinter может указывать на (В этот момент я понятия не имею, как это будет работать, но это, кажется, отнимает много времени) Структура тестирования, так что это делается для того, с тестовым содержанием страницы 1 передается на страницу 2 Преимущества Похоже, она просто должна работать из коробки Downsides Не позволяет тесты будут выполняться в произвольном порядке / только один, в то время, вероятно, займет больше времени, ошибки на ранее страницы будут влиять на более поздние страницы я нашел много учебников о том, как сделать функциональное тестирование в малом масштабе (отдельные страницах / функциях / и т.д..), но я пытаюсь выяснить, есть ли общепринятый способ или наилучшая практика о том, как структурировать над большим проектом. Это одна из них? Что-то еще, что я пропустил? м, пытаясь выяснить, есть ли общепринятый способ или наилучшая практика о том, как структурировать над большим проектом. Это одна из них? Что-то еще, что я пропустил? м, пытаясь выяснить, есть ли общепринятый способ или наилучшая практика о том, как структурировать над большим проектом. Это одна из них? Что-то еще, что я пропустил?
NoahL
1

голосов
1

ответ
107

Просмотры

TFS - порядок автоматных тестов для выполнения

Предположив У меня есть системные тесты: А и В, где А включает в себя запись в базу данных, B пытается изменить его. Когда А выходит из строя, B потерпит неудачу, а также. А и В записываются в виде «модульные тестов» (методы испытаний), А и В являются испытанием случаев в TFS, а также, автоматизированные, связанные с этими «модульными тестами». Я положил их на план тестирования, набор тестов, оба из них. Я хочу, чтобы выполнить их с «Run Функциональные тесты» шаг. Как я могу сказать, TFS, чтобы выполнять их в правильном порядке? Что является лучшей практикой для разработки тестов, как это?
Zoltan Hernyak
1

голосов
2

ответ
0

Просмотры

Rails Functional test on a custom route

«Комментарии # отклонить»,: а => «reject_comment»,: модуль => «админ» конец и функциональный тест вроде этого: контекст «в POST для: утвердить» сделать установки сделать комментарий = Factory (: комментарий) sign_in Factory ( : админ) сообщение: утвердить: идентификатор => comment.id конец должен respond_with: успех конца Однако, когда я запускаю это я получаю: тест: а POST для: утвердить должен ответить 200 (Администратор :: CommentsControllerTest): ActionController: : RoutingError: нет маршрута матчей {: действие => "одобрить",: идентификатор => 339,: контроллер => "Администратор / комментарии"} Что здесь не так? Что глупая ошибка я делаю? сделать установки сделать комментарий = Factory (: комментарий) sign_in Factory (: админ) сообщение: утвердить: идентификатор => comment.id конец должен respond_with: успех конца Однако, когда я запускаю это я получаю: тест: в POST для: утвердить должен не отвечают 200. (Администратор :: CommentsControllerTest): ActionController :: RoutingError: нет маршрута матчей {: действие => "одобрить",: идентификатор => 339,: контроллер => "Администратор / комментарии"} Что здесь не так? Что глупая ошибка я делаю? сделать установки сделать комментарий = Factory (: комментарий) sign_in Factory (: админ) сообщение: утвердить: идентификатор => comment.id конец должен respond_with: успех конца Однако, когда я запускаю это я получаю: тест: в POST для: утвердить должен не отвечают 200. (Администратор :: CommentsControllerTest): ActionController :: RoutingError: нет маршрута матчей {: действие => "одобрить",: идентификатор => 339,: контроллер => "Администратор / комментарии"} Что здесь не так? Что глупая ошибка я делаю? «Администратор / комментарии»} Что здесь не так? Что глупая ошибка я делаю? «Администратор / комментарии»} Что здесь не так? Что глупая ошибка я делаю?
Neil Middleton

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