def browser(config): # Initialize shared arguments kwargs = { 'projectname': config['testproject_projectname'], 'token': config['testproject_token'] } # Initialize the TestProject WebDriver instance # Note that these objects use the same API as Selenium WebDriver # The only thing different is the initialization call # Therefore, any WebDriver-based project can easily be retrofitted to use TestProject! if config['browser'] == 'Firefox': b = webdriver.Firefox(**kwargs) elif config['browser'] == 'Chrome': b = webdriver.Chrome(**kwargs) elif config['browser'] == 'Headless Chrome': opts = ChromeOptions() opts.add_argument('headless') b = webdriver.Chrome(chrome_options=opts, **kwargs) else: raise Exception(f'Browser "{config["browser"]}" is not supported') # Make its calls wait for elements to appear b.implicitly_wait(config['implicit_wait']) # Return the WebDriver instance for the setup yield b # Quit the WebDriver instance for the cleanup b.quit()
def setup(request): global driver browser_name = request.config.getoption("browser_name") if browser_name == "chrome": #driver = webdriver.Chrome(executable_path="/Users/brendan/Documents/Shoptest/ShopSiteFramework/chromedriver") driver = webdriver.Chrome(token="YvgAzzjby2n8IHv-usxzxPDnH4Fi3l8sSpYL0iQbGrw", project_name="ShopSite Testing") elif browser_name == "firefox": driver = webdriver.Chrome(executable_path="exec_path") driver.get("http://brendanqa.com/cgi-bin/brendan/ss/start.cgi") driver.maximize_window() driver.implicitly_wait(3) request.cls.driver = driver username = "******" password = "******" driver.find_element_by_name("ss_id1").send_keys(username) driver.find_element_by_name("ss_pw1").send_keys(password) driver.find_element_by_name("login").click() # Get Logger log = getLogger() log.info("TEST HAS STARTED") yield driver.quit()
def driver(): chrome_options = ChromeOptions() chrome_options.headless = True driver = webdriver.Chrome(chrome_options=chrome_options, project_name="CI - Python") yield driver driver.quit()
def driver(): chrome_options = ChromeOptions() chrome_options.headless = True chrome_options.set_capability("cloud:URL", os.getenv("TP_CLOUD_URL")) driver = webdriver.Chrome(chrome_options=chrome_options, project_name="CI - Python") yield driver driver.quit()
def driver(): """ Pytest fixture function that manages the test's Setup and Teardown. Creates the Chrome WebDriver and quits it once all test cases are done. See: https://docs.pytest.org/en/stable/fixture.html for more information on how fixture can be used. """ driver = webdriver.Chrome(chrome_options=ChromeOptions(), project_name="Examples", job_name="Pytest Example") yield driver driver.quit()
def driver(): driver = webdriver.Chrome(project_name="Workshop Python", job_name="Air BNB Test") step_settings = StepSettings( timeout=15000, screenshot_condition=TakeScreenshotConditionType.Always, sleep_time=2000, sleep_timing_type=SleepTimingType.Before) with DriverStepSettings(driver, step_settings): yield driver driver.quit()
def driver(): driver = webdriver.Chrome( token="kJCeheoppFyo8uaZ17k0JQyBck1qLIf5ZrynbI6t7Fk1", project_name="Ran's Project", job_name="Python Test Check") step_settings = StepSettings( timeout=15000, screenshot_condition=TakeScreenshotConditionType.Failure) with DriverStepSettings(driver, step_settings): yield driver driver.quit()
def driver(): driver = webdriver.Chrome( token="MSlM0L0EXHkqZ0CLf98m9Qn4YRcBoPaaxsMEDsH6FrQ1", project_name="Demo Project", job_name="AirBnb Test") step_settings = StepSettings( timeout=15000, screenshot_condition=TakeScreenshotConditionType.Failure) with DriverStepSettings(driver, step_settings): yield driver driver.quit()
def test_local_report(): driver = webdriver.Chrome( token=DEV_TOKEN, project_name="Report Decorator Project", job_name="Report Decorator Job", report_type=ReportType.LOCAL, ) driver.report().disable_command_reports(True) driver.get(url="https://www.google.com") driver.report().step("Local Report - Navigating to URL", "Navigating to Google", True) driver.quit()
def simple_test(): driver = webdriver.Chrome() driver.get("https://example.testproject.io/web/") driver.find_element_by_css_selector("#name").send_keys("John Smith") driver.find_element_by_css_selector("#password").send_keys("12345") driver.find_element_by_css_selector("#login").click() passed = driver.find_element_by_css_selector("#logout").is_displayed() print("Test passed") if passed else print("Test failed") driver.quit()
def test1(): driver = webdriver.Chrome( token='xMOUq-CTwc12Ru7Vjls1syE6uZ8B7vxcv1KAs55XaOY1') driver.get("https://example.testproject.io/web/") driver.find_element_by_css_selector("#name").send_keys("John Smith") driver.find_element_by_css_selector("#password").send_keys("12345") driver.find_element_by_css_selector("#login").click() passed = driver.find_element_by_css_selector("#logout").is_displayed() print("Test passed") if passed else print("Test failed") driver.quit()
def simple_test(): driver = webdriver.Chrome(token=os.getenv('TP_DEV_TOKEN')) #driver = webdriver.Chrome() driver.report().disable_auto_test_reports(disabled=True) driver.get("https://example.testproject.io/web/") driver.find_element_by_css_selector("#name").send_keys("John Smith") driver.find_element_by_css_selector("#password").send_keys("12345") driver.find_element_by_css_selector("#login").click() passed = driver.find_element_by_css_selector("#logout").is_displayed() print("Test passed") if passed else print("Test failed") driver.report().test(name="My self reported test", message="A message", passed=True) driver.quit()
def driver(): driver = webdriver.Chrome(token=DEV_TOKEN, project_name="Addon Invert Result Project", job_name="Addon Invert Result Job") yield driver driver.quit()
def test_example_using_chrome(): driver = webdriver.Chrome() LoginPage(driver).open().login_as("John Smith", "12345") assert ProfilePage(driver).greetings_are_displayed() is True driver.quit()
def driver(): driver = webdriver.Chrome(token=DEV_TOKEN, project_name="Web Driver Report Project", job_name="Web Driver Report Job") yield driver driver.quit()
def driver(): driver = webdriver.Chrome(token=DEV_TOKEN, project_name="Report Decorator Project", job_name="Report Decorator Job") yield driver driver.quit()
def test_login_to_testproject_demo_app(self): driver = webdriver.Chrome() LoginPage(driver).open().login_as("John Smith", "12345") assert ProfilePage(driver).greetings_are_displayed() is True driver.quit()
def driver(): driver = webdriver.Chrome(chrome_options=ChromeOptions(), project_name="Examples", job_name=None) yield driver driver.quit()
def driver(): driver = webdriver.Chrome() # disable all automatic reports, tests and steps will be reported manually driver.report().disable_auto_test_reports(disabled=True) yield driver driver.quit()
def driver(): driver = webdriver.Chrome(project_name="CI - Python") yield driver driver.quit()
def driver(): driver = webdriver.Chrome() yield driver driver.quit()
def test_bad_token(): with pytest.raises(expected_exception=InvalidTokenException): driver = webdriver.Chrome(token="bad_token") driver.quit()
def setUp(self): self.driver = webdriver.Chrome( chrome_options=ChromeOptions(), project_name="Examples", job_name=None )
def setUp(self) -> None: self.driver = webdriver.Chrome(chrome_options=ChromeOptions(), project_name="Examples", job_name="UnitTest Example")
def test_create_a_chrome_driver_instance(): driver = webdriver.Chrome() # Your test code goes here driver.quit()
def before_all(context): context.driver = webdriver.Chrome(token="Hg3fwHF6lSXmEnWGfkRR6-ASK5jAuhbfDIA8rSfqPNM1", project_name="Behave Tests", job_name="Login Scenario")
def browser(): driver = webdriver.Chrome(project_name="Python BDD", job_name="Python BDD") yield driver driver.quit
def before_all(context): context.driver = webdriver.Chrome(project_name="Python BDD", job_name="Behave")
def init_testproject_driver( self, browser: str = "firefox", url: Optional[str] = None, timeout: Optional[int] = 5000, project_name: Optional[str] = "TestProject Robot", job_name: Optional[str] = "Robot Job", desired_capabilities: Union[str, dict, None] = None, disabled_reports: Optional[bool] = False, dev_token: Optional[str] = os.getenv("TP_DEV_TOKEN"), ): logger.console(f"Initializing TestProject Library for Robot v{definitions.get_lib_version()}...") # # Make sure development token is set # if not dev_token: # BuiltIn().fatal_error( # "******************************************************************************\n" # "* TestProject Development token not set! *\n" # "* Please use the 'dev_token' argument of the 'init_testproject_driver' *\n" # "* keyword, or set the 'TP_DEV_TOKEN' environment variable. *\n" # "******************************************************************************" # ) driver = None # Check if instance of Options to pass to the driver. if not isinstance(desired_capabilities, (ChromeOptions, FirefoxOptions, IeOptions)): desired_capabilities = self._build_capabilities( WebDriverCreator(os.getcwd())._parse_capabilities(capabilities=desired_capabilities, browser=browser), browser ) # If headless, override and start a clean headless session. if "headless" in browser: type = browser.split("headless", 1)[1] if type == "chrome": desired_capabilities = ChromeOptions() elif type == "firefox": desired_capabilities = FirefoxOptions() else: raise ValueError("Headless is supported for FireFox and Chrome only") desired_capabilities.add_argument("--headless") browser = type if browser in self.FIREFOX_NAMES: driver = webdriver.Firefox( firefox_options=desired_capabilities, token=dev_token, projectname=project_name, jobname=job_name, disable_reports=disabled_reports, ) elif browser in self.CHROME_NAMES: driver = webdriver.Chrome( chrome_options=desired_capabilities, token=dev_token, projectname=project_name, jobname=job_name, disable_reports=disabled_reports, ) elif browser in self.IE_NAMES: driver = webdriver.Ie( ie_options=desired_capabilities, token=dev_token, projectname=project_name, jobname=job_name, disable_reports=disabled_reports, ) elif browser == "edge": driver = webdriver.Edge( edge_options=desired_capabilities, token=dev_token, projectname=project_name, jobname=job_name, disable_reports=disabled_reports, ) elif browser == "safari": driver = webdriver.Safari( desired_capabilities=desired_capabilities, token=dev_token, projectname=project_name, jobname=job_name, disable_reports=disabled_reports, ) else: raise ValueError("Unsupported Browser, please look at the official TestProject library documentation") driver.report().disable_command_reports(True) driver.set_script_timeout(timeout) driver.report().step(message="Set timeout", description=f"Time out was set to {timeout}", passed=True) try: driver.get(url) driver.report().step(message=f"Navigated to {url}", description=f"Successfully navigated to {url}", passed=True) except Exception: driver.report().step(message=f"Failed to open {url}", description=f"Failed to open {url}", passed=True) raise self.library.register_driver(driver=driver, alias="testproject_driver") self.__reporter = driver.report() self.__reporter.exclude_test_names(["run_cli", "main"])