Я запускаю тестовый набор в пользовательском интерфейсе Soap, где я пытаюсь вызвать один скрипт ruby из groovy-скрипта. Шаг выполняется успешно, но сценарий не может перейти к следующему шагу, поскольку он дает эту ошибку после запуска. Искали в google об этой ошибке, но не нашли правильного разрешения. Более того, сама ошибка не очень объяснима.Ошибка ниже при запуске ruby script
Поблагодарите любую помощь. Ниже приведен скрипт groovy, который вызывает рубиновый скрипт ap-v4-batch_DEV_QA.rb. Этот рубиновый скрипт открывает браузер и успешно выполняет задачу и закрывает браузер. Мы ожидаем, что шаг будет отмечен как «Пройден», чтобы он мог перейти к следующему шагу, но он дает ошибку, указанную внизу.
Groovy Сценарий:
String script = "webdriver/v4/ap-v4-batch_DEV_QA.rb";
String argv0 = com.eviware.soapui.SoapUI.globalProperties.getPropertyValue("GLOB_DefaultIP");
String argv1 = "com.wupay.batch.process.tasks.PaymentFileParsingTask_RunOnce";
String argv2 = "";
String argv3 = "";
String argv4 = "";
/* Nothing needs to be modified below */
String commandLine = "ruby " + com.eviware.soapui.SoapUI.globalProperties.getPropertyValue("GLOB_ScriptLocation") + "/" + script + " " + argv0 + " " + argv1 + " " + argv2 + " " + argv3 + " " + argv4;
log.info("Running command line: " + commandLine);
java.lang.Runtime runtime = java.lang.Runtime.getRuntime();
java.lang.Process p = runtime.exec(commandLine);
def propertyStep = testRunner.testCase.getTestStepByName("Properties");
java.io.BufferedReader stdInput =
new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream()));
java.io.BufferedReader stdError =
new java.io.BufferedReader(new java.io.InputStreamReader(p.getErrorStream()));
String s = null;
String e = null;
StringBuffer eb = new StringBuffer();
while ((e = stdError.readLine()) != null) {
eb.append(e);
log.error("Ruby: " + e);
}
while ((s = stdInput.readLine()) != null) {
log.info("Ruby: " + s);
if(s.startsWith("@prop")) {
String[] propSplit = s.split(":", 3);
testRunner.testCase.setPropertyValue(propSplit[1], propSplit[2]);
}
}
p.waitFor();
log.info("Ruby: exit value " + p.exitValue());
if(eb.length() > 0) {
throw new Exception(eb.toString());
}
Ошибка:
java.lang.Exception: C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:133:in
require':
require "watir-webdriver"is deprecated. Please, use
require "watir". java.lang.Exception: C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:133:in
require':require "watir-webdriver"
is deprecated. Please, userequire "watir"
. error at line: 57
'требуют "Watir-WebDriver" устарела. Пожалуйста, userequire "watir" .' –
Извините, я должен использовать require "watir". Это поможет? Я даже пробовал это ранее, но получил ту же ошибку. Не возражайте, пожалуйста, уточните ответ. – hfaraz
Теперь вам может понадобиться показать как строгий скрипт, так и рубиновый скрипт, чтобы получить любую помощь. – Rao