我正在尝试为我的自动化测试用例并行运行测试,但我需要使用不同的用户凭据执行它们。所以我想让它好像在任何时间点执行的每个线程都不应该以同一用户身份打开应用程序。我的应用程序是这样的,用户的视图将被保留,如果同一用户以不同的线程访问应用程序,执行不同的操作,它将导致测试用例失败。因此,我需要知道是否有办法使用 testng xml 并行运行测试用例,但是这些并行执行的测试用例应该使用存储在框架中某处的不同登录凭据。我怎样才能做到这一点 ??请帮助我采取必要的方法
3 回答
繁华开满天机
TA贡献1816条经验 获得超4个赞
使用用户名、密码和测试 ID 等值创建文档,并为每个测试分配自己的凭据。在基于测试 ID 从文档凭据中读取的测试中。
当然,您可以在每次执行之前分配用户。
手掌心
TA贡献1942条经验 获得超3个赞
在自动化测试用例中,您可以通过从 csv 文件中读取用户名和密码数据,通过不同的用户登录来运行测试。
或者您可以与 Cucumber 集成,在功能文件本身中您可以提供不同的凭据。
慕无忌1623718
TA贡献1744条经验 获得超4个赞
你可以试试这个方法。
在任何数据库服务器(MySQl 或 Oracle)中创建一个数据库表 USERS_ACCOUNTS。
存储您的用户相关信息。
将 IS_CURRENTLY_USED 列添加到您的 USERS_ACCOUNTS 表中,该表存储用户当前是否已登录。
现在,在您的测试脚本的登录方法中,不要从 csv 或 config 获取用户。
相反,从 IS_CURRENTLY_USED 值为 false 的 USERS_ACCOUNTS 表中获取用户。
然后将 IS_CURRENTLY_USED 列更新为 true,以便您的其他测试不会获得登录用户。
确保将上述 2 个步骤作为一个事务执行,以避免测试获得相同的用户。
如果你愿意,我可以分享代码。
添加回答
举报
0/150
提交
取消