Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 如何禁止在Selenium RC窗口中显示密码_Perl_Selenium_Selenium Rc - Fatal编程技术网

Perl 如何禁止在Selenium RC窗口中显示密码

Perl 如何禁止在Selenium RC窗口中显示密码,perl,selenium,selenium-rc,Perl,Selenium,Selenium Rc,我正在使用perl库WWW::Selenium编写一些Selenium RC测试。在测试开始时,我需要使用用户名和密码登录到web表单 我注意到我的密码显示在Selenium遥控器的“命令历史”窗口中,显示为类型(密码,密码) 有没有办法禁止显示密码?也许我可以使用type以外的命令?不幸的是,没有。当Selenium core找到名为password的字段时,您可以进入Selenium core并将其更改为显示****** 不过要注意,在调试时,这可能会使生活变得困难,我想我们可以使用本机方法

我正在使用perl库WWW::Selenium编写一些Selenium RC测试。在测试开始时,我需要使用用户名和密码登录到web表单

我注意到我的密码显示在Selenium遥控器的“命令历史”窗口中,显示为
类型(密码,密码)


有没有办法禁止显示密码?也许我可以使用
type
以外的命令?

不幸的是,没有。当Selenium core找到名为password的字段时,您可以进入Selenium core并将其更改为显示
******


不过要注意,在调试时,这可能会使生活变得困难,我想我们可以使用本机方法支持来实现这一点

从逻辑上考虑,selenium中的每个本机方法都将发送到操作系统,而不是浏览器。 因此,如果使用任何本机方法,流程如下所示:

Client Program ----> Selenium RC server ----> to the operating system (in Java this is done using Robot Class)
Client Program ----> Selenium RC server ----> to the Browser
但所有其他非本机方法流如下所示:

Client Program ----> Selenium RC server ----> to the operating system (in Java this is done using Robot Class)
Client Program ----> Selenium RC server ----> to the Browser
因此,“命令历史记录”窗口在浏览器级别运行,本机方法将无法到达浏览器级别

代码如下:

selenium.focus("locator");
selenium.keyPressNative("key code"); // this will not be shown in command history
这里的关键代码只针对一个字符,如果您想要字符串(不止一个字符),我们应该依靠我们的客户机程序来实现逻辑


我以前在其他帖子的回答中已经给出了这个代码。如果您需要个性化,请发布我们的具体要求,以便我可以根据您的需要定制代码。

这几乎可以奏效。我正在使用perl和WWW::Selenium。我在命令行提示输入密码,并将密码存储在变量中。然后,我使用
键按\u native
输入密码。但是,在脚本终止后,我的密码将显示为在命令行中键入的密码,使我的密码可见。只有在我使用
key\u press\u native
时才会发生这种情况。我认为通过
key\u press\u native
输入的键会被放入提前输入缓冲区。(我正在运行Windows,以防万一。)我认为“提前键入”问题实际上是Firefox无法获得焦点,因此当出现
按键\u press\u native
时,按键会进入我的控制台窗口,而不是Firefox。如果仍然存在此问题,请将代码放在这里。