我正在使用 Python Behave 对 Web 应用程序运行自动化测试。
有一个登录页面,需要用户名和密码。
Behave 场景有不同的登录要求,例如;
Given I am logged on as user1
Then do something
我创建了一个 csv 文件来保存每次登录的用户名和密码,但我无法让它只读取我想要的详细信息。
csv文件是这样的;
usertype,username,password
user1,somename1,somepassword1
user2,somename2,somepassword2
所需用户在 Behave 步骤定义中传递;
@given('I am logged on as {login}')
我尝试了以下实现;
def do_login(context, login):
driver = context.browser
user_data = csv.DictReader(open('users.csv'))
for row in user_data:
row['user'] = login
uname = row['username']
pword = row['password']
driver.find_element_by_name('username').send_keys(uname)
driver.find_element_by_name('password').send_keys(pword)
但这只是使用表中的第一个用户登录。
我不知道如何让它只选择登录对应的用户名和密码。
例如,我将登录名作为 user2 传递,我希望用户名作为 somename2,密码作为 password2。
我已经阅读了与读取 csv 文件相关的其他问题,但我找不到与此相同的问题。
我对 Python 很陌生。