如何在量角器测试用例中模拟“Control + Space”?

     2023-03-22     73

关键词:

【中文标题】如何在量角器测试用例中模拟“Control + Space”?【英文标题】:How to simulate "Control + Space" in protractor test cases? 【发布时间】:2021-07-05 23:49:35 【问题描述】:

我们的项目中有一个场景 - 有一个文本区域,如果我们在其中单击“ctrl + 空格”,则会出现一个可见的列表/下拉列表。现在我想用我的量角器测试用例来模拟这种行为。

请在下面找到代码:

await letterBody.sendKeys(lettertestdata.LetterTemplate.letterBodyText); // to enter "this is automated test text"
await letterBody.sendKeys(protractor.Key.chord(protractor.Key.CONTROL, protractor.Key.SPACE));
        

第二行代码 sn-p 不起作用。它输入一个空格(空格字符)而不是 ctrl+space 行为。虽然 如果我写 await letterBody.sendKeys(protractor.Key.chord(protractor.Key.CONTROL, "a")) ,它会选择整个文本。

基本上 ctrl + A 有效,但 ctrl + space 无效。

有人可以帮忙解决一下吗。

附:我已经尝试了使用“”而不是 Key.Space 或使用 keydown 和 Control 然后 sendKeys 和 SPACE 和“”等的所有组合。

【问题讨论】:

【参考方案1】:

似乎 Protractor 只是发送带有 Key.SPACE 的文字空格字符。 尝试使用element.sendKeys("\uE00D") 的Unicode for the SPACE key 仍然无法正常工作。

我建议你尝试在元素上执行一个javascript事件dispatchEvent

E.x:

    const ctrlSpace = 
       `var input = document.querySelector("input#'letter body']");                       

        input.dispatchEvent(new KeyboardEvent("keydown", key: "", ctrlKey: true));
        input.dispatchEvent(new KeyboardEvent("keyup", key: "", ctrlKey: true));`

    await browser.executeScript(ctrlSpace);

这可能看起来“老套”,但我认为没有其他方法可以解决您的问题。

【讨论】:

在单元测试用例中模拟 Angular $window

】在单元测试用例中模拟Angular$window【英文标题】:MockingAngular$windowinunittestcases【发布时间】:2015-08-2420:03:13【问题描述】:我一直在尝试对我用Typescript编写的Angular自定义服务进行单元测试。该服务读取在Window对象上定义的全... 查看详情

在 Laravel 测试用例中模拟一个 http 请求并解析路由参数

】在Laravel测试用例中模拟一个http请求并解析路由参数【英文标题】:SimulateahttprequestandparserouteparametersinLaraveltestcase【发布时间】:2017-05-1814:34:03【问题描述】:我正在尝试创建单元测试来测试一些特定的类。我使用app()->ma... 查看详情

如何在 iOS Xcode UI 测试用例中启动系统应用

】如何在iOSXcodeUI测试用例中启动系统应用【英文标题】:HowtolaunchsystemappsinaniOSXcodeUItestcase【发布时间】:2016-01-1521:33:57【问题描述】:我有一个应用程序,其主要目的是将数据输入HealthKit。我想编写一些XcodeUI测试来验证它是否... 查看详情

是否可以在 IOS 的 XCTest 单元测试用例中模拟方法(带参数)调用

】是否可以在IOS的XCTest单元测试用例中模拟方法(带参数)调用【英文标题】:Isitpossibletomockamethod(withparameters)callinXCTestunittestcaseinIOS【发布时间】:2015-08-2821:47:34【问题描述】:我在我的应用程序中使用第三方框架作为外部附... 查看详情

如何在单元测试中模拟缺乏网络连接

】如何在单元测试中模拟缺乏网络连接【英文标题】:howtosimulatelackofnetworkconnectivityinunittesting【发布时间】:2015-04-0810:32:24【问题描述】:一般问题是如何模拟(作为JUnit测试用例套件的一部分)缺乏网络连接,因为在某些测试... 查看详情

如何在使用 NestJs 的笑话测试用例中使用用户文档/用户模型

】如何在使用NestJs的笑话测试用例中使用用户文档/用户模型【英文标题】:HowdoIuseUserDocument/UserModelinjestTestcasesusingNestJs【发布时间】:2021-11-0915:11:48【问题描述】:我正在尝试使用带有开玩笑测试用例的nestjs向数据库添加实际... 查看详情

如何在订阅Angular7单元测试用例中对代码进行单元测试

】如何在订阅Angular7单元测试用例中对代码进行单元测试【英文标题】:HowtounittestcodeinsidesubscribeforAngular7unittestcase【发布时间】:2019-09-1411:10:24【问题描述】:我想对所有代码进行单元测试并获得覆盖率,但我无法获得订阅内存... 查看详情

C# - Asp.net Web API 测试项目 - 如何模拟用户并在特定用户下运行测试用例

】C#-Asp.netWebAPI测试项目-如何模拟用户并在特定用户下运行测试用例【英文标题】:C#-Asp.netwebAPItestproject-howtoimpersonateauserandruntestcasesunderaspecificuser【发布时间】:2018-09-2021:08:43【问题描述】:我正在开发ASP.netWebapi项目。我添加... 查看详情

在快速测试用例中为单例目标 c 类注入依赖项

】在快速测试用例中为单例目标c类注入依赖项【英文标题】:Injectdependencyforsingletonobjectivecclassinswifttestcases【发布时间】:2017-03-1413:00:12【问题描述】:我有一个用ObjectiveC编写的单例类,它被用在辅助类中,它也是用ObjectiveC编... 查看详情

如何在 android 的 JUnit 测试用例中获取 MainActivity 的上下文和活动?

】如何在android的JUnit测试用例中获取MainActivity的上下文和活动?【英文标题】:HowdoIgetthecontextandactivityofMainActivityinJUnittestcasesinandroid?【发布时间】:2019-03-0514:59:08【问题描述】:我正在创建一个简单的测验应用程序,用户在其... 查看详情

Swift 包资源颜色在 CI 测试用例中返回为零。但是在本地测试用例中返回正常

】Swift包资源颜色在CI测试用例中返回为零。但是在本地测试用例中返回正常【英文标题】:SwiftPackageresourcecolorscomingbackasnilinCItestcases.Butreturnfineduringlocaltestcases【发布时间】:2020-12-1104:25:44【问题描述】:奇怪的是,这只发生在C... 查看详情

无法在测试用例中打开捆绑文件

】无法在测试用例中打开捆绑文件【英文标题】:Cannotopenbundlefileintestcase【发布时间】:2020-05-1918:17:40【问题描述】:我有一个读取.stringsdict文件的测试用例。导入XCTest@testable导入CheminDeLaVieSwift类TestChemin:XCTestCasefunctestCheminParDe... 查看详情

如何在 jest 测试用例 +VueJS +Jest 中更改 $route

】如何在jest测试用例+VueJS+Jest中更改$route【英文标题】:Howtochange$routeinjesttestcase+VueJS+Jest【发布时间】:2020-05-2922:46:56【问题描述】:我是VueJS的新手(在测试用例中也是如此),如果这个问题已经被问到了,请道歉,我在我的... 查看详情

如何解决 Jest 测试用例中的“TypeError: Cannot set property 'innerHTML' of null”?

】如何解决Jest测试用例中的“TypeError:Cannotsetproperty\\\'innerHTML\\\'ofnull”?【英文标题】:Howtosolve"TypeError:Cannotsetproperty\'innerHTML\'ofnull"inJesttestcase?如何解决Jest测试用例中的“TypeError:Cannotsetproperty\'innerHTML\'ofnull” 查看详情

如何在 bitrise 上运行测试用例时查看模拟器

】如何在bitrise上运行测试用例时查看模拟器【英文标题】:howtoseesimulatorwhilerunningtestcasesonbitrise【发布时间】:2019-01-2714:17:37【问题描述】:在bitrise上运行测试用例时是否可以看到模拟器。我正在使用bitrise作为CI运行排毒测试... 查看详情

如何获取量角器中根 div 元素内存在的子 div 元素的数量

】如何获取量角器中根div元素内存在的子div元素的数量【英文标题】:HowtogetthecountofthenumberofchilddivelementpresentinsidearootdivelementinProtractor【发布时间】:2014-03-2712:17:45【问题描述】:我正在使用Protractor测试一个Web应用程序项目。... 查看详情

在 TestNG 测试用例中保存 system.property 的位置

】在TestNG测试用例中保存system.property的位置【英文标题】:wheretokeepsystem.propertyinTestNGtestcase【发布时间】:2017-05-0602:52:12【问题描述】:我应该在哪里添加以下语句System.setProperty("webdriver.gecko.driver","//home//tuser//software/... 查看详情

在 rspec 测试用例中启动弹性搜索集群时权限被拒绝

】在rspec测试用例中启动弹性搜索集群时权限被拒绝【英文标题】:Permissiondeniedwhenstartingelasticserachclusterinrspectestcases【发布时间】:2021-03-2907:37:58【问题描述】:我在运行于RubyonRails6上的API应用程序中使用了elasticsearch-rubygem。在... 查看详情