Automated all steps from PR #12

This commit is contained in:
butomo1989
2017-06-14 15:06:01 +02:00
parent 65df456066
commit 0e578710f3
5 changed files with 17 additions and 29 deletions
+1
View File
@@ -2,5 +2,6 @@ import os
ROOT = '/root'
WORKDIR = os.path.dirname(__file__)
CHROME_DRIVER = os.path.join(ROOT, 'chromedriver')
CONFIG_FILE = os.path.join(WORKDIR, 'nodeconfig.json')
LOGGING_FILE = os.path.join(WORKDIR, 'logging.conf')
+5 -6
View File
@@ -5,7 +5,7 @@ import logging
import os
import subprocess
from src import CONFIG_FILE, ROOT
from src import CONFIG_FILE, ROOT, CHROME_DRIVER
from src import log
log.init()
@@ -100,18 +100,17 @@ def appium_run(avd_name: str):
:param avd_name: Name of android virtual device / emulator
"""
cmd = 'appium'
local_ip = os.popen('ifconfig eth0 | grep \'inet addr:\' | cut -d: -f2 | awk \'{ print $1}\'').read().strip()
chromedriver_executable = os.getenv('CHROMEDRIVER_EXECUTABLE', False)
if chromedriver_executable:
cmd += ' --chromedriver-executable {executable}'.format(executable=chromedriver_executable)
default_web_browser = os.getenv('BROWSER')
if default_web_browser == 'chrome':
cmd += ' --chromedriver-executable {driver}'.format(driver=CHROME_DRIVER)
grid_connect = convert_str_to_bool(str(os.getenv('CONNECT_TO_GRID', False)))
logger.info('Connect to selenium grid? {connect}'.format(connect=grid_connect))
if grid_connect:
local_ip = os.popen('ifconfig eth0 | grep \'inet addr:\' | cut -d: -f2 | awk \'{ print $1}\'').read().strip()
try:
mobile_web_test = convert_str_to_bool(str(os.getenv('MOBILE_WEB_TEST', False)))
default_web_browser = os.getenv('BROWSER')
appium_host = os.getenv('APPIUM_HOST', local_ip)
appium_port = int(os.getenv('APPIUM_PORT', 4723))
selenium_host = os.getenv('SELENIUM_HOST', '172.17.0.1')
+5 -10
View File
@@ -12,28 +12,21 @@ class TestAppium(TestCase):
def setUp(self):
os.environ['CONNECT_TO_GRID'] = str(True)
os.environ['CHROMEDRIVER_EXECUTABLE'] = str(False)
self.avd_name = 'test_avd'
@mock.patch('os.popen')
@mock.patch('subprocess.check_call')
def test_with_chromedriver_executable(self, mocked_os, mocked_subprocess):
def test_chrome_driver(self, mocked_subprocess):
os.environ['CONNECT_TO_GRID'] = str(False)
os.environ['CHROMEDRIVER_EXECUTABLE'] = '/root/chromedriver'
self.assertFalse(mocked_os.called)
os.environ['BROWSER'] = 'chrome'
self.assertFalse(mocked_subprocess.called)
app.appium_run(self.avd_name)
self.assertTrue(mocked_os.called)
self.assertTrue(mocked_subprocess.called)
@mock.patch('os.popen')
@mock.patch('subprocess.check_call')
def test_without_selenium_grid(self, mocked_os, mocked_subprocess):
def test_without_selenium_grid(self, mocked_subprocess):
os.environ['CONNECT_TO_GRID'] = str(False)
self.assertFalse(mocked_os.called)
self.assertFalse(mocked_subprocess.called)
app.appium_run(self.avd_name)
self.assertTrue(mocked_os.called)
self.assertTrue(mocked_subprocess.called)
@mock.patch('os.popen')
@@ -73,3 +66,5 @@ class TestAppium(TestCase):
del os.environ['CONNECT_TO_GRID']
if os.getenv('APPIUM_PORT'):
del os.environ['APPIUM_PORT']
if os.getenv('BROWSER'):
del os.environ['BROWSER']