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