Testing TestCafe是否支持多选项卡测试

Testing TestCafe是否支持多选项卡测试,testing,automation,automated-tests,e2e-testing,testcafe,Testing,Automation,Automated Tests,E2e Testing,Testcafe,我有一个场景,点击一个按钮会打开一个新的标签,但当我尝试使用testCafe时,它会在一个新窗口而不是新标签中打开。这是为什么?testCafe不支持新的选项卡方案吗?我认为使用多个选项卡并不是真的必要。通常人们试图测试链接是否在新选项卡中打开,但为什么 您知道,target=\u blank的链接将在新选项卡中打开。这不是你的团队可以编程的,这就是浏览器的工作原理。如果在链接中遇到此属性,每个可想象的浏览器的行为都是相同的。它已经过测试,你不需要在网站上重新测试 但是,您可能仍然需要测试目标内

我有一个场景,点击一个按钮会打开一个新的标签,但当我尝试使用testCafe时,它会在一个新窗口而不是新标签中打开。这是为什么?testCafe不支持新的选项卡方案吗?

我认为使用多个选项卡并不是真的必要。通常人们试图测试链接是否在新选项卡中打开,但为什么

您知道,target=\u blank的链接将在新选项卡中打开。这不是你的团队可以编程的,这就是浏览器的工作原理。如果在链接中遇到此属性,每个可想象的浏览器的行为都是相同的。它已经过测试,你不需要在网站上重新测试

但是,您可能仍然需要测试目标内容是否加载或链接是否符合您的要求。没关系,但你不需要多个标签。以下场景是有意义的:

检查链接是否具有target=\u blank属性: 测验 “检查目标属性”,异步t=>{ 等待 .expectSelector'.c-cookie-bar_uu文本链接'.withAttribute'target','uBlank'。存在 好啊 }; 检查href attr是否正确: 测验 'Check Href Attr',async t=>{ 等待 .expectSelector'.c-cookie-bar\uuu text-link'.getAttribute'href' .eql'/private data info'; }; 检查内容是否加载到同一选项卡中: 从“../Helpers/baseUrl”导入getBaseUrl; 从“testcafe”导入{Selector}; const baseUrl=getBaseUrl; 夹具“链接处理” .pagebaseUrl; 测验 “转到资源”,异步t=>{ const resource=wait Selector'.c-cookie-bar\uuu text-link' .getAttribute'href'; 等待 .navigateTobaseUrl+资源; //可能还有其他一些说法 }; 检查我在这里使用的http状态代码,但它在我的示例中并不全部可见: 从“../Helpers/baseUrl”导入getBaseUrl; 从“testcafe”导入{Selector}; 从“../Helpers/networkRequest”导入请求; const baseUrl=getBaseUrl; 夹具“链接处理” .pagebaseUrl; 测验 “检查状态代码”,异步t=>{ const resource=wait Selector'.c-cookie-bar\uuu text-link' .getAttribute'href'; const networkReq=等待请求{ 方法:“GET”, url:baseUrl+资源 }; 等待 .expectnetworkReq.status.eql200; }; 如果您实际上忽略了所有这些,只需单击TestCafe中的链接:

等待 。单击选择器“.c-cookie-bar_uutext-link”; 它将在新窗口中打开,如下所示:


我认为使用多个标签并不是真正必要的。通常人们试图测试链接是否在新选项卡中打开,但为什么

您知道,target=\u blank的链接将在新选项卡中打开。这不是你的团队可以编程的,这就是浏览器的工作原理。如果在链接中遇到此属性,每个可想象的浏览器的行为都是相同的。它已经过测试,你不需要在网站上重新测试

但是,您可能仍然需要测试目标内容是否加载或链接是否符合您的要求。没关系,但你不需要多个标签。以下场景是有意义的:

检查链接是否具有target=\u blank属性: 测验 “检查目标属性”,异步t=>{ 等待 .expectSelector'.c-cookie-bar_uu文本链接'.withAttribute'target','uBlank'。存在 好啊 }; 检查href attr是否正确: 测验 'Check Href Attr',async t=>{ 等待 .expectSelector'.c-cookie-bar\uuu text-link'.getAttribute'href' .eql'/private data info'; }; 检查内容是否加载到同一选项卡中: 从“../Helpers/baseUrl”导入getBaseUrl; 从“testcafe”导入{Selector}; const baseUrl=getBaseUrl; 夹具“链接处理” .pagebaseUrl; 测验 “转到资源”,异步t=>{ const resource=wait Selector'.c-cookie-bar\uuu text-link' .getAttribute'href'; 等待 .navigateTobaseUrl+资源; //可能还有其他一些说法 }; 检查我在这里使用的http状态代码,但它在我的示例中并不全部可见: 从“../Helpers/baseUrl”导入getBaseUrl; 从“testcafe”导入{Selector}; 从“../Helpers/networkRequest”导入请求; const baseUrl=getBaseUrl; 夹具“链接处理” .pagebaseUrl; 测验 “检查状态代码”,异步t=>{ const resource=wait Selector'.c-cookie-bar\uuu text-link' .getAttribute'href'; const networkReq=等待请求{ 方法:“GET”, url:baseUrl+资源 }; 等待 .expectnetworkReq.status.eql200; }; 如果您实际上忽略了所有这些,只需单击TestCaf中的链接 e:

等待 。单击选择器“.c-cookie-bar_uutext-link”; 它将在新窗口中打开,如下所示:


我认为TestCafe不支持多个选项卡。但是,为什么需要这种场景?在我看来,这个场景在没有实际需要的时候被过度使用了。我认为TestCafe不支持多个标签。但是,为什么需要这种场景?在我看来,在没有实际需要的情况下,这个场景被过度使用了。感谢您的建议,它真的很有用,我们将尝试上述方法。感谢您的建议,它真的很有用,我们将尝试上述方法。