Мы пытались выяснить, как позвонить (0) из строящего сценария, (1) войти в систему сайта selenium, а затем (2) вызвать часть навигации (скрипта), сидящую в другом тестовом случае. Запуск обоих самостоятельно работает на 100%. Ниже приведен код, который я использую для вызова обоих сценариев из (0), но после того, как это сделано с login.run
, новый браузер открыт с select.run
и очевидно, что тест не пройден, потому что это не вошли в систему.Передача экземпляра webdriver между groovy скриптами?
login = testRunner.testCase.testSuite.project.testSuites["Selenium"].testCases["Login"].testSteps["Login_Plat"]
select = testRunner.testCase.testSuite.project.testSuites["Selenium"].testCases["Calculator"].testSteps["GS_Platinum"]
login.run(testRunner, context)
select.run(testRunner, context)
Так Я пошел и манипулировал login
select
, (путем удаления кода WebDriver) и основной код сценария теперь выглядит следующим образом (я уже исключил импорт в этой пасте):
System.setProperty("webdriver.chrome.driver",testRunner.testCase.testSuite.getPropertyValue("driverPath"))
env = testRunner.testCase.testSuite.getPropertyValue("testEnvDetails1")
WebDriver driver = new ChromeDriver()
driver.get(env)
login = testRunner.testCase.testSuite.project.testSuites["Selenium"].testCases["Login"].testSteps["Login_Plat"]
select = testRunner.testCase.testSuite.project.testSuites["Selenium"].testCases["Calculator"].testSteps["GS_Platinum"]
login.run(testRunner, context)
select.run(testRunner, context)
Я нахожу это в журнале ошибок неудачный сценарий входа в систему (при запуске скрипта 0) ERROR:groovy.lang.MissingPropertyException: No such property: driver for class: Script19
, поэтому он выглядит как t он (1) login
сценарий не использует класс driver
из основного сценария (0)
Я тоже рассматривал эти подобные проблемы, но наши, казалось, слишком отличались от их.
selenium webdriver inside soapui, passing the driver instance
How to pass context from Script to another Class groovy
How to define a global class in SoapUI as a groovy script?
и я очень стараюсь, чтобы избежать .jar
в ext
реж образом, просто потому, что мы хотим, чтобы избежать любой ценой (обучение в основном) с помощью другой программы сделать это. Кроме того, гораздо эффективнее, если мы увидим, что вызываемый код вместо импорта его в скрипт изменяется при изменении веб-сайта.
Все три этих сценария находятся в одном проекте и наборе тестов, но в разных тестовых случаях. Это было сделано из-за того, что в тестовом примере для входа в систему будут выполняться несколько этапов/сценариев тестирования с различными способами и подробностями входа. Я использую автономный сервер webdriver
Выглядит описание немного запутанным, когда вы говорите, «** Я 'm не передавать один и тот же драйвер из исходного сценария, который запускается - я пробовал делать все импорт и материал драйвера внутри главного сценария бегуна и просто иметь общий код селена, который вызвал безрезультатно. ** «Может вы можете отредактировать вопрос и уточнить детали, как то, что вы подразумеваете под основным сценарием? Как определяется ваш тестовый пример/набор тестов? Что такое драйвер для запуска его из 'soapUI', вместо того, чтобы использовать его из _outside_, например' command-line'? И почему вы пытаетесь избежать «.jar»? – Rao
@ Rao надеюсь, что его яснее? – MistaWizard