使用 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 环境变量、某些本地文件等中。这样,有权访问您的存储库的人就无法访问您的凭据。它还允许每个用户设置自己的本地凭据,以便每个人都可以使用自己的凭据而无需修改脚本。
我正在使用 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 环境变量、某些本地文件等中。这样,有权访问您的存储库的人就无法访问您的凭据。它还允许每个用户设置自己的本地凭据,以便每个人都可以使用自己的凭据而无需修改脚本。