使用 python 安全、自动化、登录 selenium

Secure, automated, login for selenium with python

我正在使用 python 中的 selenium 为一个网站编写测试用例,但我无法找到为每个场景传递正确登录的最佳方法。目前我正在使用等待并每次手动输入帐户信息:

@given('I wait for input of correct credentials')
    def step_impl(context):
        WebDriverWait(context.driver, 20).until( 
             expected_conditions.visibility_of_elements_located(
                BasePageLocators.SIDEBAR)
        )

有没有更好的方法不用在我的代码中发送信息?最好是不需要手动输入的

你可以在WebDriverWait returns元素中直接调用send_keys()方法如下:

WebDriverWait(context.driver, 20).until( 
    expected_conditions.visibility_of_elements_located(
        BasePageLocators.SIDEBAR).send_keys("Allan Blackmar")

虽然 this article 是专门为解决如何处理与 SauceLabs 相关的信誉而编写的,但您没有理由不能使用相同的方法。

您获取凭据并将其存储在您的代码之外,例如在 Windows 环境变量、某些本地文件等中。这样,有权访问您的存储库的人就无法访问您的凭据。它还允许每个用户设置自己的本地凭据,以便每个人都可以使用自己的凭据而无需修改脚本。