问题
I'm trying to run soapui in headless mode on linux (works from windows) but when initiating the webdriver portion it seems that chrome doesnt see the driver has started. This is not even the same OS as "OsProcess checkForError : CreateProcess error=193, %1 is not a valid Win32 application" while starting Internet Explorer through Java and Selenium
i've tried version 74 and 73 of both chrome and driver.
i've tried adding all the selenium jars that come with the server and language bindings to soapuis /bin/ext
directory, and then removed them.
I've set the server.jar file to chown 7777
(yeah i know i know!). I've installed Xvfb, even Xorg desktop...
sh /home/venerable/SmartBear/SoapUI-5.5.0/bin/testrunner.sh -c 'tester2' -s 'Regression' "/home/venerable/projects/opengoogle" -t "/home/venerable/soapui-settings.xml" -f "/home/venerable/logs" -r -I
and the groovy script:
import org.openqa.selenium.WebDriver
import org.openqa.selenium.chrome.ChromeDriver
import org.openqa.selenium.chrome.ChromeOptions
System.setProperty("webdriver.chrome.driver","/home/venerable/driver/chromedriver")
System.setProperty("webdriver.chrome.logfile","/home/venerable/driver/chromedriver")
log.info 'from system: '+ System.getProperty("webdriver.chrome.driver")
ChromeOptions chromeOptions = new ChromeOptions()
chromeOptions.addArguments("--headless")
log.info '################# starting driver #################'
WebDriver driver = new ChromeDriver(chromeOptions)
log.info '================ driver started ================'
driver.get("http://www.google.com")
log.info ":):):):):):):):):)closing driver:(:(:(:(:(:(:(:(:(:("
driver.close()
driver.quit()
return
stack trace
18:30:58,176 INFO [DefaultSoapUICore] initialized soapui-settings from [/home/venerable/soapui-settings.xml]
18:30:58,865 INFO [PluginManager] 0 plugins loaded in 3 ms
18:30:58,865 INFO [DefaultSoapUICore] All plugins loaded
18:31:00,576 INFO [WsdlProject] Loaded project from [file:/home/venerable/projects/opengoogle]
18:31:00,587 INFO [SoapUITestCaseRunner] Running SoapUI tests in project [tester]
18:31:00,588 INFO [SoapUITestCaseRunner] Running TestCase [tester2]
18:31:00,597 INFO [SoapUITestCaseRunner] Running SoapUI testcase [tester2]
18:31:00,597 INFO [SoapUITestCaseRunner] running step [Groovy Script]
18:31:01,176 INFO [log] from system: /home/venerable/driver/chromedriver
18:31:01,214 INFO [log] ################# starting driver #################
Starting ChromeDriver 74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}) on por
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Failed to redirect stderr to log file.
Unable to initialize logging. Exiting...
May 27, 2019 6:31:21 PM org.openqa.selenium.os.OsProcess checkForError
SEVERE: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
18:31:21,470 ERROR [SoapUI] An error occurred [Timed out waiting for driver server to start.
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'ebu-venerable', ip: '10.33.134.55', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-el7.x86_64', java.version: '1.8.0_212'
Driver info: driver.version: ChromeDriver], see error log for details
org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'ebu-venerable', ip: '10.33.134.55', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-el7.x86_64', java.version: '1.8.0_212'
i'm at the end of the patience train on this one, ive confirmed all the individual bits rae running: Selenium Chrome Browser org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start I have also followed https://gist.github.com/bugcy013/38287ec2adfc381cde7a8e7e9bdad6d7
回答1:
As per your code trials though this line:
System.setProperty("webdriver.chrome.driver","/home/venerable/driver/chromedriver")
Looks to be perfect, but the next line looks error prone, which is as follows:
System.setProperty("webdriver.chrome.logfile","/home/venerable/driver/chromedriver")
Log files must end with extension of .log
.
So presumably, you need to change the line of code as:
System.setProperty("webdriver.chrome.logfile", "/home/venerable/driver/chromedriver.log");
来源:https://stackoverflow.com/questions/56423566/org-openqa-selenium-os-osprocess-checkforerror-and-org-apache-commons-exec-execu