Created
January 10, 2017 14:40
-
-
Save alexpodoff/6989068668536ccfa9884525e1d28508 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Started by user admin | |
Building in workspace C:\Users\ADMIN\.jenkins\workspace\addressbook tests | |
> C:\Program Files\Git\bin\git.exe rev-parse --is-inside-work-tree # timeout=10 | |
Fetching changes from the remote Git repository | |
> C:\Program Files\Git\bin\git.exe config remote.origin.url https://github.com/alexpodoff/python_training # timeout=10 | |
Fetching upstream changes from https://github.com/alexpodoff/python_training | |
> C:\Program Files\Git\bin\git.exe --version # timeout=10 | |
> C:\Program Files\Git\bin\git.exe fetch --tags --progress https://github.com/alexpodoff/python_training +refs/heads/*:refs/remotes/origin/* | |
> C:\Program Files\Git\bin\git.exe rev-parse "refs/remotes/origin/master^{commit}" # timeout=10 | |
> C:\Program Files\Git\bin\git.exe rev-parse "refs/remotes/origin/origin/master^{commit}" # timeout=10 | |
Checking out Revision c91b429085e0d6ad5c999262c4c32eaeba694402 (refs/remotes/origin/master) | |
> C:\Program Files\Git\bin\git.exe config core.sparsecheckout # timeout=10 | |
> C:\Program Files\Git\bin\git.exe checkout -f c91b429085e0d6ad5c999262c4c32eaeba694402 | |
> C:\Program Files\Git\bin\git.exe rev-list c91b429085e0d6ad5c999262c4c32eaeba694402 # timeout=10 | |
[addressbook tests] $ cmd.exe /c call C:\Users\ADMIN\AppData\Local\Temp\shiningpanda1132356596566054240.bat | |
C:\Users\ADMIN\.jenkins\workspace\addressbook tests>pip install -r requirements.txt | |
Requirement already satisfied: pytest in c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages (from -r requirements.txt (line 1)) | |
Requirement already satisfied: pytest_bdd in c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages (from -r requirements.txt (line 2)) | |
Requirement already satisfied: selenium in c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages (from -r requirements.txt (line 3)) | |
Requirement already satisfied: jsonpickle in c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages (from -r requirements.txt (line 4)) | |
Requirement already satisfied: pony in c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages (from -r requirements.txt (line 5)) | |
Requirement already satisfied: pymysql in c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages (from -r requirements.txt (line 6)) | |
Requirement already satisfied: mysql-connector-python-rf in c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages (from -r requirements.txt (line 7)) | |
Requirement already satisfied: py>=1.4.29 in c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages (from pytest->-r requirements.txt (line 1)) | |
Requirement already satisfied: colorama; sys_platform == "win32" in c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages (from pytest->-r requirements.txt (line 1)) | |
Requirement already satisfied: parse in c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages (from pytest_bdd->-r requirements.txt (line 2)) | |
Requirement already satisfied: glob2 in c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages (from pytest_bdd->-r requirements.txt (line 2)) | |
Requirement already satisfied: Mako in c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages (from pytest_bdd->-r requirements.txt (line 2)) | |
Requirement already satisfied: six>=1.9.0 in c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages (from pytest_bdd->-r requirements.txt (line 2)) | |
Requirement already satisfied: parse-type in c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages (from pytest_bdd->-r requirements.txt (line 2)) | |
Requirement already satisfied: MarkupSafe>=0.9.2 in c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages (from Mako->pytest_bdd->-r requirements.txt (line 2)) | |
C:\Users\ADMIN\.jenkins\workspace\addressbook tests>py.test test\test_add_group.py | |
============================= test session starts ============================= | |
platform win32 -- Python 3.5.2, pytest-3.0.5, py-1.4.32, pluggy-0.4.0 | |
rootdir: C:\Users\ADMIN\.jenkins\workspace\addressbook tests, inifile: | |
plugins: bdd-2.18.1 | |
collected 5 items | |
test\test_add_group.py EEEEEE | |
=================================== ERRORS ==================================== | |
_____________ ERROR at setup of test_add_group[None:c:1g3A:X26I] ______________ | |
self = <selenium.webdriver.firefox.service.Service object at 0x0000000004384320> | |
def start(self): | |
""" | |
Starts the Service. | |
:Exceptions: | |
- WebDriverException : Raised either when it can't start the service | |
or when it can't connect to the service | |
""" | |
try: | |
cmd = [self.path] | |
cmd.extend(self.command_line_args()) | |
self.process = subprocess.Popen(cmd, env=self.env, | |
close_fds=platform.system() != 'Windows', | |
> stdout=self.log_file, stderr=self.log_file) | |
..\..\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py:74: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x0000000004384518> | |
args = ['geckodriver', '--port', '55427'], bufsize = -1, executable = None | |
stdin = None | |
stdout = <_io.TextIOWrapper name='geckodriver.log' mode='a+' encoding='cp1251'> | |
stderr = <_io.TextIOWrapper name='geckodriver.log' mode='a+' encoding='cp1251'> | |
preexec_fn = None, close_fds = False, shell = False, cwd = None | |
env = environ({'JAVA_HOME': 'c:\\Program Files\\Java\\jdk1.8.0_112\\', 'PROGRAMDATA': 'C:\\ProgramData', 'SYSTEMDRIVE': 'C:'...bs\\62ae2d4d\\virtualenvs\\d41d8cd9\\Scripts\\python.exe', 'GIT_BRANCH': 'origin/master', 'SYSTEMROOT': 'C:\\Windows'}) | |
universal_newlines = False, startupinfo = None, creationflags = 0 | |
restore_signals = True, start_new_session = False, pass_fds = () | |
def __init__(self, args, bufsize=-1, executable=None, | |
stdin=None, stdout=None, stderr=None, | |
preexec_fn=None, close_fds=_PLATFORM_DEFAULT_CLOSE_FDS, | |
shell=False, cwd=None, env=None, universal_newlines=False, | |
startupinfo=None, creationflags=0, | |
restore_signals=True, start_new_session=False, | |
pass_fds=()): | |
"""Create new Popen instance.""" | |
_cleanup() | |
# Held while anything is calling waitpid before returncode has been | |
# updated to prevent clobbering returncode if wait() or poll() are | |
# called from multiple threads at once. After acquiring the lock, | |
# code must re-check self.returncode to see if another thread just | |
# finished a waitpid() call. | |
self._waitpid_lock = threading.Lock() | |
self._input = None | |
self._communication_started = False | |
if bufsize is None: | |
bufsize = -1 # Restore default | |
if not isinstance(bufsize, int): | |
raise TypeError("bufsize must be an integer") | |
if _mswindows: | |
if preexec_fn is not None: | |
raise ValueError("preexec_fn is not supported on Windows " | |
"platforms") | |
any_stdio_set = (stdin is not None or stdout is not None or | |
stderr is not None) | |
if close_fds is _PLATFORM_DEFAULT_CLOSE_FDS: | |
if any_stdio_set: | |
close_fds = False | |
else: | |
close_fds = True | |
elif close_fds and any_stdio_set: | |
raise ValueError( | |
"close_fds is not supported on Windows platforms" | |
" if you redirect stdin/stdout/stderr") | |
else: | |
# POSIX | |
if close_fds is _PLATFORM_DEFAULT_CLOSE_FDS: | |
close_fds = True | |
if pass_fds and not close_fds: | |
warnings.warn("pass_fds overriding close_fds.", RuntimeWarning) | |
close_fds = True | |
if startupinfo is not None: | |
raise ValueError("startupinfo is only supported on Windows " | |
"platforms") | |
if creationflags != 0: | |
raise ValueError("creationflags is only supported on Windows " | |
"platforms") | |
self.args = args | |
self.stdin = None | |
self.stdout = None | |
self.stderr = None | |
self.pid = None | |
self.returncode = None | |
self.universal_newlines = universal_newlines | |
# Input and output objects. The general principle is like | |
# this: | |
# | |
# Parent Child | |
# ------ ----- | |
# p2cwrite ---stdin---> p2cread | |
# c2pread <--stdout--- c2pwrite | |
# errread <--stderr--- errwrite | |
# | |
# On POSIX, the child objects are file descriptors. On | |
# Windows, these are Windows file handles. The parent objects | |
# are file descriptors on both platforms. The parent objects | |
# are -1 when not using PIPEs. The child objects are -1 | |
# when not redirecting. | |
(p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite) = self._get_handles(stdin, stdout, stderr) | |
# We wrap OS handles *before* launching the child, otherwise a | |
# quickly terminating child could make our fds unwrappable | |
# (see #8458). | |
if _mswindows: | |
if p2cwrite != -1: | |
p2cwrite = msvcrt.open_osfhandle(p2cwrite.Detach(), 0) | |
if c2pread != -1: | |
c2pread = msvcrt.open_osfhandle(c2pread.Detach(), 0) | |
if errread != -1: | |
errread = msvcrt.open_osfhandle(errread.Detach(), 0) | |
if p2cwrite != -1: | |
self.stdin = io.open(p2cwrite, 'wb', bufsize) | |
if universal_newlines: | |
self.stdin = io.TextIOWrapper(self.stdin, write_through=True, | |
line_buffering=(bufsize == 1)) | |
if c2pread != -1: | |
self.stdout = io.open(c2pread, 'rb', bufsize) | |
if universal_newlines: | |
self.stdout = io.TextIOWrapper(self.stdout) | |
if errread != -1: | |
self.stderr = io.open(errread, 'rb', bufsize) | |
if universal_newlines: | |
self.stderr = io.TextIOWrapper(self.stderr) | |
self._closed_child_pipe_fds = False | |
try: | |
self._execute_child(args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
> restore_signals, start_new_session) | |
..\..\..\AppData\Local\Programs\Python\Python35\Lib\subprocess.py:947: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x0000000004384518> | |
args = 'geckodriver --port 55427', executable = None, preexec_fn = None | |
close_fds = False, pass_fds = (), cwd = None | |
env = environ({'JAVA_HOME': 'c:\\Program Files\\Java\\jdk1.8.0_112\\', 'PROGRAMDATA': 'C:\\ProgramData', 'SYSTEMDRIVE': 'C:'...bs\\62ae2d4d\\virtualenvs\\d41d8cd9\\Scripts\\python.exe', 'GIT_BRANCH': 'origin/master', 'SYSTEMROOT': 'C:\\Windows'}) | |
startupinfo = <subprocess.STARTUPINFO object at 0x0000000004384550> | |
creationflags = 0, shell = False, p2cread = Handle(352), p2cwrite = -1 | |
c2pread = -1, c2pwrite = Handle(348), errread = -1, errwrite = Handle(360) | |
unused_restore_signals = True, unused_start_new_session = False | |
def _execute_child(self, args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
unused_restore_signals, unused_start_new_session): | |
"""Execute program (MS Windows version)""" | |
assert not pass_fds, "pass_fds not supported on Windows." | |
if not isinstance(args, str): | |
args = list2cmdline(args) | |
# Process startup details | |
if startupinfo is None: | |
startupinfo = STARTUPINFO() | |
if -1 not in (p2cread, c2pwrite, errwrite): | |
startupinfo.dwFlags |= _winapi.STARTF_USESTDHANDLES | |
startupinfo.hStdInput = p2cread | |
startupinfo.hStdOutput = c2pwrite | |
startupinfo.hStdError = errwrite | |
if shell: | |
startupinfo.dwFlags |= _winapi.STARTF_USESHOWWINDOW | |
startupinfo.wShowWindow = _winapi.SW_HIDE | |
comspec = os.environ.get("COMSPEC", "cmd.exe") | |
args = '{} /c "{}"'.format (comspec, args) | |
# Start the process | |
try: | |
hp, ht, pid, tid = _winapi.CreateProcess(executable, args, | |
# no special security | |
None, None, | |
int(not close_fds), | |
creationflags, | |
env, | |
cwd, | |
> startupinfo) | |
E FileNotFoundError: [WinError 2] Не удается найти указанный файл | |
..\..\..\AppData\Local\Programs\Python\Python35\Lib\subprocess.py:1224: FileNotFoundError | |
During handling of the above exception, another exception occurred: | |
request = <SubRequest 'app' for <Function 'test_add_group[None:c:1g3A:X26I]'>> | |
@pytest.fixture | |
def app(request): | |
global fixture | |
browser = request.config.getoption("--browser") | |
web_config = load_config(request.config.getoption("--target"))['web'] | |
if fixture is None or not fixture.is_valid: | |
> fixture = Application(browser=browser, base_url=web_config["baseUrl"]) | |
conftest.py:26: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
fixture\application.py:11: in __init__ | |
self.wd = webdriver.Firefox() | |
..\..\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\firefox\webdriver.py:140: in __init__ | |
self.service.start() | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <selenium.webdriver.firefox.service.Service object at 0x0000000004384320> | |
def start(self): | |
""" | |
Starts the Service. | |
:Exceptions: | |
- WebDriverException : Raised either when it can't start the service | |
or when it can't connect to the service | |
""" | |
try: | |
cmd = [self.path] | |
cmd.extend(self.command_line_args()) | |
self.process = subprocess.Popen(cmd, env=self.env, | |
close_fds=platform.system() != 'Windows', | |
stdout=self.log_file, stderr=self.log_file) | |
except TypeError: | |
raise | |
except OSError as err: | |
if err.errno == errno.ENOENT: | |
raise WebDriverException( | |
"'%s' executable needs to be in PATH. %s" % ( | |
> os.path.basename(self.path), self.start_error_message) | |
E selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. | |
..\..\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py:81: WebDriverException | |
ERROR at setup of test_add_group[None:tDX4h:6iik9WUUcH9WwYP:pyQN5Y4m2a1P6GAr] | |
self = <selenium.webdriver.firefox.service.Service object at 0x000000000401E400> | |
def start(self): | |
""" | |
Starts the Service. | |
:Exceptions: | |
- WebDriverException : Raised either when it can't start the service | |
or when it can't connect to the service | |
""" | |
try: | |
cmd = [self.path] | |
cmd.extend(self.command_line_args()) | |
self.process = subprocess.Popen(cmd, env=self.env, | |
close_fds=platform.system() != 'Windows', | |
> stdout=self.log_file, stderr=self.log_file) | |
..\..\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py:74: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x00000000040179B0> | |
args = ['geckodriver', '--port', '55428'], bufsize = -1, executable = None | |
stdin = None | |
stdout = <_io.TextIOWrapper name='geckodriver.log' mode='a+' encoding='cp1251'> | |
stderr = <_io.TextIOWrapper name='geckodriver.log' mode='a+' encoding='cp1251'> | |
preexec_fn = None, close_fds = False, shell = False, cwd = None | |
env = environ({'JAVA_HOME': 'c:\\Program Files\\Java\\jdk1.8.0_112\\', 'PROGRAMDATA': 'C:\\ProgramData', 'SYSTEMDRIVE': 'C:'...bs\\62ae2d4d\\virtualenvs\\d41d8cd9\\Scripts\\python.exe', 'GIT_BRANCH': 'origin/master', 'SYSTEMROOT': 'C:\\Windows'}) | |
universal_newlines = False, startupinfo = None, creationflags = 0 | |
restore_signals = True, start_new_session = False, pass_fds = () | |
def __init__(self, args, bufsize=-1, executable=None, | |
stdin=None, stdout=None, stderr=None, | |
preexec_fn=None, close_fds=_PLATFORM_DEFAULT_CLOSE_FDS, | |
shell=False, cwd=None, env=None, universal_newlines=False, | |
startupinfo=None, creationflags=0, | |
restore_signals=True, start_new_session=False, | |
pass_fds=()): | |
"""Create new Popen instance.""" | |
_cleanup() | |
# Held while anything is calling waitpid before returncode has been | |
# updated to prevent clobbering returncode if wait() or poll() are | |
# called from multiple threads at once. After acquiring the lock, | |
# code must re-check self.returncode to see if another thread just | |
# finished a waitpid() call. | |
self._waitpid_lock = threading.Lock() | |
self._input = None | |
self._communication_started = False | |
if bufsize is None: | |
bufsize = -1 # Restore default | |
if not isinstance(bufsize, int): | |
raise TypeError("bufsize must be an integer") | |
if _mswindows: | |
if preexec_fn is not None: | |
raise ValueError("preexec_fn is not supported on Windows " | |
"platforms") | |
any_stdio_set = (stdin is not None or stdout is not None or | |
stderr is not None) | |
if close_fds is _PLATFORM_DEFAULT_CLOSE_FDS: | |
if any_stdio_set: | |
close_fds = False | |
else: | |
close_fds = True | |
elif close_fds and any_stdio_set: | |
raise ValueError( | |
"close_fds is not supported on Windows platforms" | |
" if you redirect stdin/stdout/stderr") | |
else: | |
# POSIX | |
if close_fds is _PLATFORM_DEFAULT_CLOSE_FDS: | |
close_fds = True | |
if pass_fds and not close_fds: | |
warnings.warn("pass_fds overriding close_fds.", RuntimeWarning) | |
close_fds = True | |
if startupinfo is not None: | |
raise ValueError("startupinfo is only supported on Windows " | |
"platforms") | |
if creationflags != 0: | |
raise ValueError("creationflags is only supported on Windows " | |
"platforms") | |
self.args = args | |
self.stdin = None | |
self.stdout = None | |
self.stderr = None | |
self.pid = None | |
self.returncode = None | |
self.universal_newlines = universal_newlines | |
# Input and output objects. The general principle is like | |
# this: | |
# | |
# Parent Child | |
# ------ ----- | |
# p2cwrite ---stdin---> p2cread | |
# c2pread <--stdout--- c2pwrite | |
# errread <--stderr--- errwrite | |
# | |
# On POSIX, the child objects are file descriptors. On | |
# Windows, these are Windows file handles. The parent objects | |
# are file descriptors on both platforms. The parent objects | |
# are -1 when not using PIPEs. The child objects are -1 | |
# when not redirecting. | |
(p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite) = self._get_handles(stdin, stdout, stderr) | |
# We wrap OS handles *before* launching the child, otherwise a | |
# quickly terminating child could make our fds unwrappable | |
# (see #8458). | |
if _mswindows: | |
if p2cwrite != -1: | |
p2cwrite = msvcrt.open_osfhandle(p2cwrite.Detach(), 0) | |
if c2pread != -1: | |
c2pread = msvcrt.open_osfhandle(c2pread.Detach(), 0) | |
if errread != -1: | |
errread = msvcrt.open_osfhandle(errread.Detach(), 0) | |
if p2cwrite != -1: | |
self.stdin = io.open(p2cwrite, 'wb', bufsize) | |
if universal_newlines: | |
self.stdin = io.TextIOWrapper(self.stdin, write_through=True, | |
line_buffering=(bufsize == 1)) | |
if c2pread != -1: | |
self.stdout = io.open(c2pread, 'rb', bufsize) | |
if universal_newlines: | |
self.stdout = io.TextIOWrapper(self.stdout) | |
if errread != -1: | |
self.stderr = io.open(errread, 'rb', bufsize) | |
if universal_newlines: | |
self.stderr = io.TextIOWrapper(self.stderr) | |
self._closed_child_pipe_fds = False | |
try: | |
self._execute_child(args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
> restore_signals, start_new_session) | |
..\..\..\AppData\Local\Programs\Python\Python35\Lib\subprocess.py:947: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x00000000040179B0> | |
args = 'geckodriver --port 55428', executable = None, preexec_fn = None | |
close_fds = False, pass_fds = (), cwd = None | |
env = environ({'JAVA_HOME': 'c:\\Program Files\\Java\\jdk1.8.0_112\\', 'PROGRAMDATA': 'C:\\ProgramData', 'SYSTEMDRIVE': 'C:'...bs\\62ae2d4d\\virtualenvs\\d41d8cd9\\Scripts\\python.exe', 'GIT_BRANCH': 'origin/master', 'SYSTEMROOT': 'C:\\Windows'}) | |
startupinfo = <subprocess.STARTUPINFO object at 0x0000000004017E80> | |
creationflags = 0, shell = False, p2cread = Handle(356), p2cwrite = -1 | |
c2pread = -1, c2pwrite = Handle(364), errread = -1, errwrite = Handle(368) | |
unused_restore_signals = True, unused_start_new_session = False | |
def _execute_child(self, args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
unused_restore_signals, unused_start_new_session): | |
"""Execute program (MS Windows version)""" | |
assert not pass_fds, "pass_fds not supported on Windows." | |
if not isinstance(args, str): | |
args = list2cmdline(args) | |
# Process startup details | |
if startupinfo is None: | |
startupinfo = STARTUPINFO() | |
if -1 not in (p2cread, c2pwrite, errwrite): | |
startupinfo.dwFlags |= _winapi.STARTF_USESTDHANDLES | |
startupinfo.hStdInput = p2cread | |
startupinfo.hStdOutput = c2pwrite | |
startupinfo.hStdError = errwrite | |
if shell: | |
startupinfo.dwFlags |= _winapi.STARTF_USESHOWWINDOW | |
startupinfo.wShowWindow = _winapi.SW_HIDE | |
comspec = os.environ.get("COMSPEC", "cmd.exe") | |
args = '{} /c "{}"'.format (comspec, args) | |
# Start the process | |
try: | |
hp, ht, pid, tid = _winapi.CreateProcess(executable, args, | |
# no special security | |
None, None, | |
int(not close_fds), | |
creationflags, | |
env, | |
cwd, | |
> startupinfo) | |
E FileNotFoundError: [WinError 2] Не удается найти указанный файл | |
..\..\..\AppData\Local\Programs\Python\Python35\Lib\subprocess.py:1224: FileNotFoundError | |
During handling of the above exception, another exception occurred: | |
request = <SubRequest 'app' for <Function 'test_add_group[None:tDX4h:6iik9WUUcH9WwYP:pyQN5Y4m2a1P6GAr]'>> | |
@pytest.fixture | |
def app(request): | |
global fixture | |
browser = request.config.getoption("--browser") | |
web_config = load_config(request.config.getoption("--target"))['web'] | |
if fixture is None or not fixture.is_valid: | |
> fixture = Application(browser=browser, base_url=web_config["baseUrl"]) | |
conftest.py:26: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
fixture\application.py:11: in __init__ | |
self.wd = webdriver.Firefox() | |
..\..\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\firefox\webdriver.py:140: in __init__ | |
self.service.start() | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <selenium.webdriver.firefox.service.Service object at 0x000000000401E400> | |
def start(self): | |
""" | |
Starts the Service. | |
:Exceptions: | |
- WebDriverException : Raised either when it can't start the service | |
or when it can't connect to the service | |
""" | |
try: | |
cmd = [self.path] | |
cmd.extend(self.command_line_args()) | |
self.process = subprocess.Popen(cmd, env=self.env, | |
close_fds=platform.system() != 'Windows', | |
stdout=self.log_file, stderr=self.log_file) | |
except TypeError: | |
raise | |
except OSError as err: | |
if err.errno == errno.ENOENT: | |
raise WebDriverException( | |
"'%s' executable needs to be in PATH. %s" % ( | |
> os.path.basename(self.path), self.start_error_message) | |
E selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. | |
..\..\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py:81: WebDriverException | |
______ ERROR at setup of test_add_group[None::ATdZ5DglCVlrU3OmrG5:IRxw] _______ | |
self = <selenium.webdriver.firefox.service.Service object at 0x00000000044C5668> | |
def start(self): | |
""" | |
Starts the Service. | |
:Exceptions: | |
- WebDriverException : Raised either when it can't start the service | |
or when it can't connect to the service | |
""" | |
try: | |
cmd = [self.path] | |
cmd.extend(self.command_line_args()) | |
self.process = subprocess.Popen(cmd, env=self.env, | |
close_fds=platform.system() != 'Windows', | |
> stdout=self.log_file, stderr=self.log_file) | |
..\..\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py:74: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x00000000044C5908> | |
args = ['geckodriver', '--port', '55429'], bufsize = -1, executable = None | |
stdin = None | |
stdout = <_io.TextIOWrapper name='geckodriver.log' mode='a+' encoding='cp1251'> | |
stderr = <_io.TextIOWrapper name='geckodriver.log' mode='a+' encoding='cp1251'> | |
preexec_fn = None, close_fds = False, shell = False, cwd = None | |
env = environ({'JAVA_HOME': 'c:\\Program Files\\Java\\jdk1.8.0_112\\', 'PROGRAMDATA': 'C:\\ProgramData', 'SYSTEMDRIVE': 'C:'...bs\\62ae2d4d\\virtualenvs\\d41d8cd9\\Scripts\\python.exe', 'GIT_BRANCH': 'origin/master', 'SYSTEMROOT': 'C:\\Windows'}) | |
universal_newlines = False, startupinfo = None, creationflags = 0 | |
restore_signals = True, start_new_session = False, pass_fds = () | |
def __init__(self, args, bufsize=-1, executable=None, | |
stdin=None, stdout=None, stderr=None, | |
preexec_fn=None, close_fds=_PLATFORM_DEFAULT_CLOSE_FDS, | |
shell=False, cwd=None, env=None, universal_newlines=False, | |
startupinfo=None, creationflags=0, | |
restore_signals=True, start_new_session=False, | |
pass_fds=()): | |
"""Create new Popen instance.""" | |
_cleanup() | |
# Held while anything is calling waitpid before returncode has been | |
# updated to prevent clobbering returncode if wait() or poll() are | |
# called from multiple threads at once. After acquiring the lock, | |
# code must re-check self.returncode to see if another thread just | |
# finished a waitpid() call. | |
self._waitpid_lock = threading.Lock() | |
self._input = None | |
self._communication_started = False | |
if bufsize is None: | |
bufsize = -1 # Restore default | |
if not isinstance(bufsize, int): | |
raise TypeError("bufsize must be an integer") | |
if _mswindows: | |
if preexec_fn is not None: | |
raise ValueError("preexec_fn is not supported on Windows " | |
"platforms") | |
any_stdio_set = (stdin is not None or stdout is not None or | |
stderr is not None) | |
if close_fds is _PLATFORM_DEFAULT_CLOSE_FDS: | |
if any_stdio_set: | |
close_fds = False | |
else: | |
close_fds = True | |
elif close_fds and any_stdio_set: | |
raise ValueError( | |
"close_fds is not supported on Windows platforms" | |
" if you redirect stdin/stdout/stderr") | |
else: | |
# POSIX | |
if close_fds is _PLATFORM_DEFAULT_CLOSE_FDS: | |
close_fds = True | |
if pass_fds and not close_fds: | |
warnings.warn("pass_fds overriding close_fds.", RuntimeWarning) | |
close_fds = True | |
if startupinfo is not None: | |
raise ValueError("startupinfo is only supported on Windows " | |
"platforms") | |
if creationflags != 0: | |
raise ValueError("creationflags is only supported on Windows " | |
"platforms") | |
self.args = args | |
self.stdin = None | |
self.stdout = None | |
self.stderr = None | |
self.pid = None | |
self.returncode = None | |
self.universal_newlines = universal_newlines | |
# Input and output objects. The general principle is like | |
# this: | |
# | |
# Parent Child | |
# ------ ----- | |
# p2cwrite ---stdin---> p2cread | |
# c2pread <--stdout--- c2pwrite | |
# errread <--stderr--- errwrite | |
# | |
# On POSIX, the child objects are file descriptors. On | |
# Windows, these are Windows file handles. The parent objects | |
# are file descriptors on both platforms. The parent objects | |
# are -1 when not using PIPEs. The child objects are -1 | |
# when not redirecting. | |
(p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite) = self._get_handles(stdin, stdout, stderr) | |
# We wrap OS handles *before* launching the child, otherwise a | |
# quickly terminating child could make our fds unwrappable | |
# (see #8458). | |
if _mswindows: | |
if p2cwrite != -1: | |
p2cwrite = msvcrt.open_osfhandle(p2cwrite.Detach(), 0) | |
if c2pread != -1: | |
c2pread = msvcrt.open_osfhandle(c2pread.Detach(), 0) | |
if errread != -1: | |
errread = msvcrt.open_osfhandle(errread.Detach(), 0) | |
if p2cwrite != -1: | |
self.stdin = io.open(p2cwrite, 'wb', bufsize) | |
if universal_newlines: | |
self.stdin = io.TextIOWrapper(self.stdin, write_through=True, | |
line_buffering=(bufsize == 1)) | |
if c2pread != -1: | |
self.stdout = io.open(c2pread, 'rb', bufsize) | |
if universal_newlines: | |
self.stdout = io.TextIOWrapper(self.stdout) | |
if errread != -1: | |
self.stderr = io.open(errread, 'rb', bufsize) | |
if universal_newlines: | |
self.stderr = io.TextIOWrapper(self.stderr) | |
self._closed_child_pipe_fds = False | |
try: | |
self._execute_child(args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
> restore_signals, start_new_session) | |
..\..\..\AppData\Local\Programs\Python\Python35\Lib\subprocess.py:947: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x00000000044C5908> | |
args = 'geckodriver --port 55429', executable = None, preexec_fn = None | |
close_fds = False, pass_fds = (), cwd = None | |
env = environ({'JAVA_HOME': 'c:\\Program Files\\Java\\jdk1.8.0_112\\', 'PROGRAMDATA': 'C:\\ProgramData', 'SYSTEMDRIVE': 'C:'...bs\\62ae2d4d\\virtualenvs\\d41d8cd9\\Scripts\\python.exe', 'GIT_BRANCH': 'origin/master', 'SYSTEMROOT': 'C:\\Windows'}) | |
startupinfo = <subprocess.STARTUPINFO object at 0x00000000044C5940> | |
creationflags = 0, shell = False, p2cread = Handle(376), p2cwrite = -1 | |
c2pread = -1, c2pwrite = Handle(372), errread = -1, errwrite = Handle(384) | |
unused_restore_signals = True, unused_start_new_session = False | |
def _execute_child(self, args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
unused_restore_signals, unused_start_new_session): | |
"""Execute program (MS Windows version)""" | |
assert not pass_fds, "pass_fds not supported on Windows." | |
if not isinstance(args, str): | |
args = list2cmdline(args) | |
# Process startup details | |
if startupinfo is None: | |
startupinfo = STARTUPINFO() | |
if -1 not in (p2cread, c2pwrite, errwrite): | |
startupinfo.dwFlags |= _winapi.STARTF_USESTDHANDLES | |
startupinfo.hStdInput = p2cread | |
startupinfo.hStdOutput = c2pwrite | |
startupinfo.hStdError = errwrite | |
if shell: | |
startupinfo.dwFlags |= _winapi.STARTF_USESHOWWINDOW | |
startupinfo.wShowWindow = _winapi.SW_HIDE | |
comspec = os.environ.get("COMSPEC", "cmd.exe") | |
args = '{} /c "{}"'.format (comspec, args) | |
# Start the process | |
try: | |
hp, ht, pid, tid = _winapi.CreateProcess(executable, args, | |
# no special security | |
None, None, | |
int(not close_fds), | |
creationflags, | |
env, | |
cwd, | |
> startupinfo) | |
E FileNotFoundError: [WinError 2] Не удается найти указанный файл | |
..\..\..\AppData\Local\Programs\Python\Python35\Lib\subprocess.py:1224: FileNotFoundError | |
During handling of the above exception, another exception occurred: | |
request = <SubRequest 'app' for <Function 'test_add_group[None::ATdZ5DglCVlrU3OmrG5:IRxw]'>> | |
@pytest.fixture | |
def app(request): | |
global fixture | |
browser = request.config.getoption("--browser") | |
web_config = load_config(request.config.getoption("--target"))['web'] | |
if fixture is None or not fixture.is_valid: | |
> fixture = Application(browser=browser, base_url=web_config["baseUrl"]) | |
conftest.py:26: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
fixture\application.py:11: in __init__ | |
self.wd = webdriver.Firefox() | |
..\..\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\firefox\webdriver.py:140: in __init__ | |
self.service.start() | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <selenium.webdriver.firefox.service.Service object at 0x00000000044C5668> | |
def start(self): | |
""" | |
Starts the Service. | |
:Exceptions: | |
- WebDriverException : Raised either when it can't start the service | |
or when it can't connect to the service | |
""" | |
try: | |
cmd = [self.path] | |
cmd.extend(self.command_line_args()) | |
self.process = subprocess.Popen(cmd, env=self.env, | |
close_fds=platform.system() != 'Windows', | |
stdout=self.log_file, stderr=self.log_file) | |
except TypeError: | |
raise | |
except OSError as err: | |
if err.errno == errno.ENOENT: | |
raise WebDriverException( | |
"'%s' executable needs to be in PATH. %s" % ( | |
> os.path.basename(self.path), self.start_error_message) | |
E selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. | |
..\..\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py:81: WebDriverException | |
________________ ERROR at setup of test_add_group[None:::4oZb] ________________ | |
self = <selenium.webdriver.firefox.service.Service object at 0x0000000004485550> | |
def start(self): | |
""" | |
Starts the Service. | |
:Exceptions: | |
- WebDriverException : Raised either when it can't start the service | |
or when it can't connect to the service | |
""" | |
try: | |
cmd = [self.path] | |
cmd.extend(self.command_line_args()) | |
self.process = subprocess.Popen(cmd, env=self.env, | |
close_fds=platform.system() != 'Windows', | |
> stdout=self.log_file, stderr=self.log_file) | |
..\..\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py:74: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x0000000004485320> | |
args = ['geckodriver', '--port', '55430'], bufsize = -1, executable = None | |
stdin = None | |
stdout = <_io.TextIOWrapper name='geckodriver.log' mode='a+' encoding='cp1251'> | |
stderr = <_io.TextIOWrapper name='geckodriver.log' mode='a+' encoding='cp1251'> | |
preexec_fn = None, close_fds = False, shell = False, cwd = None | |
env = environ({'JAVA_HOME': 'c:\\Program Files\\Java\\jdk1.8.0_112\\', 'PROGRAMDATA': 'C:\\ProgramData', 'SYSTEMDRIVE': 'C:'...bs\\62ae2d4d\\virtualenvs\\d41d8cd9\\Scripts\\python.exe', 'GIT_BRANCH': 'origin/master', 'SYSTEMROOT': 'C:\\Windows'}) | |
universal_newlines = False, startupinfo = None, creationflags = 0 | |
restore_signals = True, start_new_session = False, pass_fds = () | |
def __init__(self, args, bufsize=-1, executable=None, | |
stdin=None, stdout=None, stderr=None, | |
preexec_fn=None, close_fds=_PLATFORM_DEFAULT_CLOSE_FDS, | |
shell=False, cwd=None, env=None, universal_newlines=False, | |
startupinfo=None, creationflags=0, | |
restore_signals=True, start_new_session=False, | |
pass_fds=()): | |
"""Create new Popen instance.""" | |
_cleanup() | |
# Held while anything is calling waitpid before returncode has been | |
# updated to prevent clobbering returncode if wait() or poll() are | |
# called from multiple threads at once. After acquiring the lock, | |
# code must re-check self.returncode to see if another thread just | |
# finished a waitpid() call. | |
self._waitpid_lock = threading.Lock() | |
self._input = None | |
self._communication_started = False | |
if bufsize is None: | |
bufsize = -1 # Restore default | |
if not isinstance(bufsize, int): | |
raise TypeError("bufsize must be an integer") | |
if _mswindows: | |
if preexec_fn is not None: | |
raise ValueError("preexec_fn is not supported on Windows " | |
"platforms") | |
any_stdio_set = (stdin is not None or stdout is not None or | |
stderr is not None) | |
if close_fds is _PLATFORM_DEFAULT_CLOSE_FDS: | |
if any_stdio_set: | |
close_fds = False | |
else: | |
close_fds = True | |
elif close_fds and any_stdio_set: | |
raise ValueError( | |
"close_fds is not supported on Windows platforms" | |
" if you redirect stdin/stdout/stderr") | |
else: | |
# POSIX | |
if close_fds is _PLATFORM_DEFAULT_CLOSE_FDS: | |
close_fds = True | |
if pass_fds and not close_fds: | |
warnings.warn("pass_fds overriding close_fds.", RuntimeWarning) | |
close_fds = True | |
if startupinfo is not None: | |
raise ValueError("startupinfo is only supported on Windows " | |
"platforms") | |
if creationflags != 0: | |
raise ValueError("creationflags is only supported on Windows " | |
"platforms") | |
self.args = args | |
self.stdin = None | |
self.stdout = None | |
self.stderr = None | |
self.pid = None | |
self.returncode = None | |
self.universal_newlines = universal_newlines | |
# Input and output objects. The general principle is like | |
# this: | |
# | |
# Parent Child | |
# ------ ----- | |
# p2cwrite ---stdin---> p2cread | |
# c2pread <--stdout--- c2pwrite | |
# errread <--stderr--- errwrite | |
# | |
# On POSIX, the child objects are file descriptors. On | |
# Windows, these are Windows file handles. The parent objects | |
# are file descriptors on both platforms. The parent objects | |
# are -1 when not using PIPEs. The child objects are -1 | |
# when not redirecting. | |
(p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite) = self._get_handles(stdin, stdout, stderr) | |
# We wrap OS handles *before* launching the child, otherwise a | |
# quickly terminating child could make our fds unwrappable | |
# (see #8458). | |
if _mswindows: | |
if p2cwrite != -1: | |
p2cwrite = msvcrt.open_osfhandle(p2cwrite.Detach(), 0) | |
if c2pread != -1: | |
c2pread = msvcrt.open_osfhandle(c2pread.Detach(), 0) | |
if errread != -1: | |
errread = msvcrt.open_osfhandle(errread.Detach(), 0) | |
if p2cwrite != -1: | |
self.stdin = io.open(p2cwrite, 'wb', bufsize) | |
if universal_newlines: | |
self.stdin = io.TextIOWrapper(self.stdin, write_through=True, | |
line_buffering=(bufsize == 1)) | |
if c2pread != -1: | |
self.stdout = io.open(c2pread, 'rb', bufsize) | |
if universal_newlines: | |
self.stdout = io.TextIOWrapper(self.stdout) | |
if errread != -1: | |
self.stderr = io.open(errread, 'rb', bufsize) | |
if universal_newlines: | |
self.stderr = io.TextIOWrapper(self.stderr) | |
self._closed_child_pipe_fds = False | |
try: | |
self._execute_child(args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
> restore_signals, start_new_session) | |
..\..\..\AppData\Local\Programs\Python\Python35\Lib\subprocess.py:947: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x0000000004485320> | |
args = 'geckodriver --port 55430', executable = None, preexec_fn = None | |
close_fds = False, pass_fds = (), cwd = None | |
env = environ({'JAVA_HOME': 'c:\\Program Files\\Java\\jdk1.8.0_112\\', 'PROGRAMDATA': 'C:\\ProgramData', 'SYSTEMDRIVE': 'C:'...bs\\62ae2d4d\\virtualenvs\\d41d8cd9\\Scripts\\python.exe', 'GIT_BRANCH': 'origin/master', 'SYSTEMROOT': 'C:\\Windows'}) | |
startupinfo = <subprocess.STARTUPINFO object at 0x0000000004485A90> | |
creationflags = 0, shell = False, p2cread = Handle(392), p2cwrite = -1 | |
c2pread = -1, c2pwrite = Handle(556), errread = -1, errwrite = Handle(552) | |
unused_restore_signals = True, unused_start_new_session = False | |
def _execute_child(self, args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
unused_restore_signals, unused_start_new_session): | |
"""Execute program (MS Windows version)""" | |
assert not pass_fds, "pass_fds not supported on Windows." | |
if not isinstance(args, str): | |
args = list2cmdline(args) | |
# Process startup details | |
if startupinfo is None: | |
startupinfo = STARTUPINFO() | |
if -1 not in (p2cread, c2pwrite, errwrite): | |
startupinfo.dwFlags |= _winapi.STARTF_USESTDHANDLES | |
startupinfo.hStdInput = p2cread | |
startupinfo.hStdOutput = c2pwrite | |
startupinfo.hStdError = errwrite | |
if shell: | |
startupinfo.dwFlags |= _winapi.STARTF_USESHOWWINDOW | |
startupinfo.wShowWindow = _winapi.SW_HIDE | |
comspec = os.environ.get("COMSPEC", "cmd.exe") | |
args = '{} /c "{}"'.format (comspec, args) | |
# Start the process | |
try: | |
hp, ht, pid, tid = _winapi.CreateProcess(executable, args, | |
# no special security | |
None, None, | |
int(not close_fds), | |
creationflags, | |
env, | |
cwd, | |
> startupinfo) | |
E FileNotFoundError: [WinError 2] Не удается найти указанный файл | |
..\..\..\AppData\Local\Programs\Python\Python35\Lib\subprocess.py:1224: FileNotFoundError | |
During handling of the above exception, another exception occurred: | |
request = <SubRequest 'app' for <Function 'test_add_group[None:::4oZb]'>> | |
@pytest.fixture | |
def app(request): | |
global fixture | |
browser = request.config.getoption("--browser") | |
web_config = load_config(request.config.getoption("--target"))['web'] | |
if fixture is None or not fixture.is_valid: | |
> fixture = Application(browser=browser, base_url=web_config["baseUrl"]) | |
conftest.py:26: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
fixture\application.py:11: in __init__ | |
self.wd = webdriver.Firefox() | |
..\..\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\firefox\webdriver.py:140: in __init__ | |
self.service.start() | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <selenium.webdriver.firefox.service.Service object at 0x0000000004485550> | |
def start(self): | |
""" | |
Starts the Service. | |
:Exceptions: | |
- WebDriverException : Raised either when it can't start the service | |
or when it can't connect to the service | |
""" | |
try: | |
cmd = [self.path] | |
cmd.extend(self.command_line_args()) | |
self.process = subprocess.Popen(cmd, env=self.env, | |
close_fds=platform.system() != 'Windows', | |
stdout=self.log_file, stderr=self.log_file) | |
except TypeError: | |
raise | |
except OSError as err: | |
if err.errno == errno.ENOENT: | |
raise WebDriverException( | |
"'%s' executable needs to be in PATH. %s" % ( | |
> os.path.basename(self.path), self.start_error_message) | |
E selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. | |
..\..\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py:81: WebDriverException | |
_ ERROR at setup of test_add_group[None:V:XDLP4yCjDR8pWv:y45fNJSC67oaC0tAW4] __ | |
self = <selenium.webdriver.firefox.service.Service object at 0x000000000448EE48> | |
def start(self): | |
""" | |
Starts the Service. | |
:Exceptions: | |
- WebDriverException : Raised either when it can't start the service | |
or when it can't connect to the service | |
""" | |
try: | |
cmd = [self.path] | |
cmd.extend(self.command_line_args()) | |
self.process = subprocess.Popen(cmd, env=self.env, | |
close_fds=platform.system() != 'Windows', | |
> stdout=self.log_file, stderr=self.log_file) | |
..\..\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py:74: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x000000000448E3C8> | |
args = ['geckodriver', '--port', '55431'], bufsize = -1, executable = None | |
stdin = None | |
stdout = <_io.TextIOWrapper name='geckodriver.log' mode='a+' encoding='cp1251'> | |
stderr = <_io.TextIOWrapper name='geckodriver.log' mode='a+' encoding='cp1251'> | |
preexec_fn = None, close_fds = False, shell = False, cwd = None | |
env = environ({'JAVA_HOME': 'c:\\Program Files\\Java\\jdk1.8.0_112\\', 'PROGRAMDATA': 'C:\\ProgramData', 'SYSTEMDRIVE': 'C:'...bs\\62ae2d4d\\virtualenvs\\d41d8cd9\\Scripts\\python.exe', 'GIT_BRANCH': 'origin/master', 'SYSTEMROOT': 'C:\\Windows'}) | |
universal_newlines = False, startupinfo = None, creationflags = 0 | |
restore_signals = True, start_new_session = False, pass_fds = () | |
def __init__(self, args, bufsize=-1, executable=None, | |
stdin=None, stdout=None, stderr=None, | |
preexec_fn=None, close_fds=_PLATFORM_DEFAULT_CLOSE_FDS, | |
shell=False, cwd=None, env=None, universal_newlines=False, | |
startupinfo=None, creationflags=0, | |
restore_signals=True, start_new_session=False, | |
pass_fds=()): | |
"""Create new Popen instance.""" | |
_cleanup() | |
# Held while anything is calling waitpid before returncode has been | |
# updated to prevent clobbering returncode if wait() or poll() are | |
# called from multiple threads at once. After acquiring the lock, | |
# code must re-check self.returncode to see if another thread just | |
# finished a waitpid() call. | |
self._waitpid_lock = threading.Lock() | |
self._input = None | |
self._communication_started = False | |
if bufsize is None: | |
bufsize = -1 # Restore default | |
if not isinstance(bufsize, int): | |
raise TypeError("bufsize must be an integer") | |
if _mswindows: | |
if preexec_fn is not None: | |
raise ValueError("preexec_fn is not supported on Windows " | |
"platforms") | |
any_stdio_set = (stdin is not None or stdout is not None or | |
stderr is not None) | |
if close_fds is _PLATFORM_DEFAULT_CLOSE_FDS: | |
if any_stdio_set: | |
close_fds = False | |
else: | |
close_fds = True | |
elif close_fds and any_stdio_set: | |
raise ValueError( | |
"close_fds is not supported on Windows platforms" | |
" if you redirect stdin/stdout/stderr") | |
else: | |
# POSIX | |
if close_fds is _PLATFORM_DEFAULT_CLOSE_FDS: | |
close_fds = True | |
if pass_fds and not close_fds: | |
warnings.warn("pass_fds overriding close_fds.", RuntimeWarning) | |
close_fds = True | |
if startupinfo is not None: | |
raise ValueError("startupinfo is only supported on Windows " | |
"platforms") | |
if creationflags != 0: | |
raise ValueError("creationflags is only supported on Windows " | |
"platforms") | |
self.args = args | |
self.stdin = None | |
self.stdout = None | |
self.stderr = None | |
self.pid = None | |
self.returncode = None | |
self.universal_newlines = universal_newlines | |
# Input and output objects. The general principle is like | |
# this: | |
# | |
# Parent Child | |
# ------ ----- | |
# p2cwrite ---stdin---> p2cread | |
# c2pread <--stdout--- c2pwrite | |
# errread <--stderr--- errwrite | |
# | |
# On POSIX, the child objects are file descriptors. On | |
# Windows, these are Windows file handles. The parent objects | |
# are file descriptors on both platforms. The parent objects | |
# are -1 when not using PIPEs. The child objects are -1 | |
# when not redirecting. | |
(p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite) = self._get_handles(stdin, stdout, stderr) | |
# We wrap OS handles *before* launching the child, otherwise a | |
# quickly terminating child could make our fds unwrappable | |
# (see #8458). | |
if _mswindows: | |
if p2cwrite != -1: | |
p2cwrite = msvcrt.open_osfhandle(p2cwrite.Detach(), 0) | |
if c2pread != -1: | |
c2pread = msvcrt.open_osfhandle(c2pread.Detach(), 0) | |
if errread != -1: | |
errread = msvcrt.open_osfhandle(errread.Detach(), 0) | |
if p2cwrite != -1: | |
self.stdin = io.open(p2cwrite, 'wb', bufsize) | |
if universal_newlines: | |
self.stdin = io.TextIOWrapper(self.stdin, write_through=True, | |
line_buffering=(bufsize == 1)) | |
if c2pread != -1: | |
self.stdout = io.open(c2pread, 'rb', bufsize) | |
if universal_newlines: | |
self.stdout = io.TextIOWrapper(self.stdout) | |
if errread != -1: | |
self.stderr = io.open(errread, 'rb', bufsize) | |
if universal_newlines: | |
self.stderr = io.TextIOWrapper(self.stderr) | |
self._closed_child_pipe_fds = False | |
try: | |
self._execute_child(args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
> restore_signals, start_new_session) | |
..\..\..\AppData\Local\Programs\Python\Python35\Lib\subprocess.py:947: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x000000000448E3C8> | |
args = 'geckodriver --port 55431', executable = None, preexec_fn = None | |
close_fds = False, pass_fds = (), cwd = None | |
env = environ({'JAVA_HOME': 'c:\\Program Files\\Java\\jdk1.8.0_112\\', 'PROGRAMDATA': 'C:\\ProgramData', 'SYSTEMDRIVE': 'C:'...bs\\62ae2d4d\\virtualenvs\\d41d8cd9\\Scripts\\python.exe', 'GIT_BRANCH': 'origin/master', 'SYSTEMROOT': 'C:\\Windows'}) | |
startupinfo = <subprocess.STARTUPINFO object at 0x000000000448E630> | |
creationflags = 0, shell = False, p2cread = Handle(560), p2cwrite = -1 | |
c2pread = -1, c2pwrite = Handle(568), errread = -1, errwrite = Handle(564) | |
unused_restore_signals = True, unused_start_new_session = False | |
def _execute_child(self, args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
unused_restore_signals, unused_start_new_session): | |
"""Execute program (MS Windows version)""" | |
assert not pass_fds, "pass_fds not supported on Windows." | |
if not isinstance(args, str): | |
args = list2cmdline(args) | |
# Process startup details | |
if startupinfo is None: | |
startupinfo = STARTUPINFO() | |
if -1 not in (p2cread, c2pwrite, errwrite): | |
startupinfo.dwFlags |= _winapi.STARTF_USESTDHANDLES | |
startupinfo.hStdInput = p2cread | |
startupinfo.hStdOutput = c2pwrite | |
startupinfo.hStdError = errwrite | |
if shell: | |
startupinfo.dwFlags |= _winapi.STARTF_USESHOWWINDOW | |
startupinfo.wShowWindow = _winapi.SW_HIDE | |
comspec = os.environ.get("COMSPEC", "cmd.exe") | |
args = '{} /c "{}"'.format (comspec, args) | |
# Start the process | |
try: | |
hp, ht, pid, tid = _winapi.CreateProcess(executable, args, | |
# no special security | |
None, None, | |
int(not close_fds), | |
creationflags, | |
env, | |
cwd, | |
> startupinfo) | |
E FileNotFoundError: [WinError 2] Не удается найти указанный файл | |
..\..\..\AppData\Local\Programs\Python\Python35\Lib\subprocess.py:1224: FileNotFoundError | |
During handling of the above exception, another exception occurred: | |
request = <SubRequest 'app' for <Function 'test_add_group[None:V:XDLP4yCjDR8pWv:y45fNJSC67oaC0tAW4]'>> | |
@pytest.fixture | |
def app(request): | |
global fixture | |
browser = request.config.getoption("--browser") | |
web_config = load_config(request.config.getoption("--target"))['web'] | |
if fixture is None or not fixture.is_valid: | |
> fixture = Application(browser=browser, base_url=web_config["baseUrl"]) | |
conftest.py:26: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
fixture\application.py:11: in __init__ | |
self.wd = webdriver.Firefox() | |
..\..\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\firefox\webdriver.py:140: in __init__ | |
self.service.start() | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <selenium.webdriver.firefox.service.Service object at 0x000000000448EE48> | |
def start(self): | |
""" | |
Starts the Service. | |
:Exceptions: | |
- WebDriverException : Raised either when it can't start the service | |
or when it can't connect to the service | |
""" | |
try: | |
cmd = [self.path] | |
cmd.extend(self.command_line_args()) | |
self.process = subprocess.Popen(cmd, env=self.env, | |
close_fds=platform.system() != 'Windows', | |
stdout=self.log_file, stderr=self.log_file) | |
except TypeError: | |
raise | |
except OSError as err: | |
if err.errno == errno.ENOENT: | |
raise WebDriverException( | |
"'%s' executable needs to be in PATH. %s" % ( | |
> os.path.basename(self.path), self.start_error_message) | |
E selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. | |
..\..\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py:81: WebDriverException | |
ERROR at teardown of test_add_group[None:V:XDLP4yCjDR8pWv:y45fNJSC67oaC0tAW4] | |
def fin(): | |
> fixture.session.enshure_logout() | |
E AttributeError: 'NoneType' object has no attribute 'session' | |
conftest.py:45: AttributeError | |
=========================== 6 error in 0.66 seconds =========================== | |
Exception ignored in: <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x000000000448EE48>> | |
Traceback (most recent call last): | |
File "c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py", line 173, in __del__ | |
File "c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py", line 145, in stop | |
AttributeError: 'Service' object has no attribute 'process' | |
Exception ignored in: <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x0000000004485550>> | |
Traceback (most recent call last): | |
File "c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py", line 173, in __del__ | |
File "c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py", line 145, in stop | |
AttributeError: 'Service' object has no attribute 'process' | |
Exception ignored in: <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x00000000044C5668>> | |
Traceback (most recent call last): | |
File "c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py", line 173, in __del__ | |
File "c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py", line 145, in stop | |
AttributeError: 'Service' object has no attribute 'process' | |
Exception ignored in: <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x000000000401E400>> | |
Traceback (most recent call last): | |
File "c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py", line 173, in __del__ | |
File "c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py", line 145, in stop | |
AttributeError: 'Service' object has no attribute 'process' | |
Exception ignored in: <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x0000000004384320>> | |
Traceback (most recent call last): | |
File "c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py", line 173, in __del__ | |
File "c:\users\admin\.jenkins\shiningpanda\jobs\62ae2d4d\virtualenvs\d41d8cd9\lib\site-packages\selenium\webdriver\common\service.py", line 145, in stop | |
AttributeError: 'Service' object has no attribute 'process' | |
C:\Users\ADMIN\.jenkins\workspace\addressbook tests>exit 1 | |
Build step 'Virtualenv Builder' marked build as failure | |
Finished: FAILURE |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment