【问题标题】:How to create a bash script to execute non-headless automation in python-behave [closed]如何创建 bash 脚本以在 python-behave 中执行非无头自动化 [关闭]
【发布时间】:2021-04-13 21:51:27
【问题描述】:

我几天前问过这个问题,但它被假定为并错误地与之前的问题相关联。这是question

【问题讨论】:

    标签: python bash selenium bdd python-behave


    【解决方案1】:

    解决方案其实很简单。

    我通过在非无头 bash 脚本中使用 export headless=0; behave 找到了一种解决方法,并且它有效。

    这种方法的注意事项是我必须使用os.getenv('headless'),它指的是在我的 .env 文件中设置的值。那是无头=1。

    最终的 webconfig.py 如下所示。

    import dotenv
    
    import os
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    dotenv.load_dotenv()
    
    headless = bool(int(os.getenv('headless')))
    
    
    class Driver:
        def __init__(self, driver):
            self.driver = driver
    
            if driver == "chrome":
                if headless:
                    chrome_options = Options()
                    chrome_options.add_argument("--headless")
                    chrome_options.add_argument("--no-sandbox")
                    chrome_options.add_argument("--disable-gpu")
                    chrome_options.add_argument("--start-maximized")
                    chrome_options.add_argument("--window-size=1920,1200")
                    chrome_options.add_argument("--disable-dev-shm-usage")
    
                    self.driver = webdriver.Chrome(chrome_options=chrome_options)
                else:
                    self.driver = webdriver.Chrome()
            elif driver == "firefox":
                self.driver = webdriver.Firefox()
            else:
                print(f"{driver} is not defined.")
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-07
      • 2021-10-02
      • 2017-03-08
      • 2012-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多