微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Selenium Java – 新动作(驱动程序)).sendKeys(…)行为

我正在使用以下代码将一些密钥发送到浏览器窗口:

(new Actions(driver)).sendKeys(StringToBeEntered).perform();

我的问题是,如果传递给它的String是预定义的String变量而不是实际的String常量,它对sendKeys的功能有何影响?

是sendKeys(strVariable).perform()和sendKeys(“String”).执行会有相同的行为吗?

我正在使用此方法,因为需要发送文本的元素是不可选的.

解决方法:

不,它没有任何区别.

String strVariable = "String"
sendKeys(strVariable).perform();

和…

sendKeys("String").perform();

…在Selenium中是相同的.

原因与Selenium无关,而是Java的工作方式.解释起来有点复杂,但在Java中,方法中的变量是按值传递的,而不是通过引用传递的.因此,在第一个版本中,变量(即字符串)的值被传递给方法,而不是变量引用本身.这意味着,就sendKeys()方法而言,第一个和第二个版本是相同的.

同样重要的是要指出Java中的字符串是不可变的,因此sendKeys方法方法之外的任何东西都不能改变String本身的值.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐