我正在写一个测试来注册我网站上的用户。使用@playright/test,我在playright中定义了几个不同的项目。配置。ts:
{
name: 'iPhone 12 Pro',
use: devices['iPhone 12 Pro'],
},
{
name: 'iPhone 12 Pro Max',
use: devices['iPhone 12 Pro Max'],
},
{
name: 'iPhone 5/SE',
use: devices['iPhone SE'],
},
我的测试如下所示:
test('Register a user', async ({ page }) => {
// Go to baseUrl/webapp/
await page.goto(`${baseUrl}webapp/`);
// Click the register tab.
await page.click('ion-segment-button[role="tab"]:has-text("Register")');
await page.click('input[name="mail"]');
// @TODO: How do I get the project name here?
await page.fill('input[name="mail"]', `test@example.com`);
// Press Tab
await page.press('input[name="mail"]', 'Tab');
await page.fill('input[name="pass"]', 'password');
但是,当我运行此测试时,它只对第一个工作人员有效,因为您只能注册一次电子邮件地址。
因此,我想做的是在我的测试中访问项目名称(例如,iphone12pro
),以便我可以将其转换为电子邮件地址,以便每次运行测试时,它都会根据项目名称注册用户。
如何在剧作家测试中获得项目名称?
我阅读了剧作家关于workerInfo对象的文档,但我不知道如何在测试中应用它。
您可以像这样访问workerInfo作为第二个参数,在这种情况下,您可以使用它使您的电子邮件对每个工作人员都是唯一的:
test('Register a user', async ({ page }, workerInfo) => {
// Go to baseUrl/webapp/
await page.goto(`${baseUrl}webapp/`);
// Click the register tab.
await page.click('ion-segment-button[role="tab"]:has-text("Register")');
await page.click('input[name="mail"]');
await page.fill('input[name="mail"]', `test-user-${workerInfo.workerIndex}@example.com`);
您还可以通过workerInfo.project.name
获取项目名称。
更多信息请参见此处。
我尝试过剧作家页面对象文档和几个youtube视频关于这个主题。我也读过GitHub问题(github页面对象问题),但当有不止一个页面对象类时,仍然存在实现页面对象模型的问题。我理解一个简单的类和测试文件,但是如果有人能帮助我,当我想在另一个页面类中实例化一个页面类或者继承它时,那将是非常感激的。我想在特定方法之外的另一个类中实例化一个页面类,这样我就可以在多个方法中使用该实例。我希望有一个样板
问题内容: 该命令仅覆盖一个目录中的文件。 我想要整个项目,这意味着测试应覆盖dir中的所有文件以及该dir下的所有千岁树dir 。 这样做的命令是什么? 问题答案: 这应该在当前目录及其所有子目录中运行所有测试: 这应该针对给定的特定目录运行所有测试: 这应该以前缀为的导入路径运行所有测试: 这应该运行所有带有前缀的测试导入路径: 这应该在$ GOPATH中运行所有测试:
测试 Android Library 项目类似于测试应用项目。唯一的不同点在于整个库(包括它的依赖)都是自动作为依赖库被添加到测试应用中。结果就是测试 APK 不单只包含自身的代码,还包含了 Library 项目以及它依赖的代码。Library 的 manifest 被组合到测试应用的 manifest 中(引用这个 Library 的项目作为容器)。androidTest task 变为只执行安
我想通过剧作家选择一个选项,但我不能选择一个选项。什么是错的? 梅 测试
testng.xml TestNG将扫描所有类路径以寻找测试类(PackageUtils#findClassesInPackage)。 不需要的测试来自依赖项。 如何配置TestNG以只在maven项目测试目录中查找测试类(默认编译为)?
排他性功能允许您通过附加到函数来仅运行指定的套件或测试用例.only()。这是仅执行特定套件的示例: describe('Array', function() { describe.only('#indexOf()', function() { // ... }); }); 注意:仍将执行所有嵌套套件。 以下是执行单个测试用例的示例: describe('Array', function()