로컬 컴퓨터와 원격 컴퓨터간에 테스트를 배포하고 싶습니다. 나는 2 개의 테스트를 가지고 있으며 더 빠른 실행을 위해 이들을 나란히 실행하려고합니다. 하나는 로컬 시스템에 있고 다른 하나는 원격 시스템에 있습니다.하위 프로세스 방식 (일반 그리드 또는 젠킨스 사용)을 사용하여 셀렌 그리드를 사용하여 테스트 배포
TestOnChrome.py
: 내가 설정 내 허브 지역과 또한 내가 원격 시스템에있는 다른 노드를 등록에 하나 개의 노드 .. 여기 같은 디렉토리에 저장 내 세 개의 코드 파일입니다이 여기 TestOnChromeTwo.pyfrom selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.support.ui import WebDriverWait
import time, unittest
class OnFirefox(unittest.TestCase):
def setUp(self) :
self.driver = webdriver.Remote(command_executor='http://localhost:4444/wd/hub',desired_capabilities=DesiredCapabilities.CHROME)
def test_Google_Search_FF(self):
driver = self.driver
driver.get("http://www.google.com")
inputElement = driver.find_element_by_name("q")
inputElement.send_keys("Cheese!")
inputElement.submit()
def tearDown(self):
self.driver.quit()
if __name__ == "__main__":
unittest.main()
및
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.support.ui import WebDriverWait
import time, unittest
class OnFirefox(unittest.TestCase):
def setUp(self) :
self.driver = webdriver.Remote(command_executor='http://localhost:4444/wd/hub',desired_capabilities=DesiredCapabilities.CHROME)
def test_Google_Search_FF(self):
driver = self.driver
driver.get("http://www.google.com")
inputElement = driver.find_element_by_name("q")
inputElement.send_keys("Cheese!")
inputElement.submit()
def tearDown(self):
self.driver.quit()
if __name__ == "__main__":
unittest.main()
내 runner.py
입니다from subprocess import Popen
import glob
tests = glob.glob('test*.py')
processes = []
for test in tests:
processes.append(Popen('python %s' % test, shell=True))
for process in processes:
process.wait()
runner.py를 실행하면 자동으로 테스트가 배포됩니까? 내가 등록한 노드를 사용하고 있습니까? 아니면 다른 일을해야합니까?
정말 고마워요. 그렇다면 올바른 접근 방식을 사용하고 있습니까? – user5653362