Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
Java 在通过vpn运行的https web应用程序上使用Selenium_Java_Selenium_Login_Popup_Vpn - Fatal编程技术网

Java 在通过vpn运行的https web应用程序上使用Selenium

Java 在通过vpn运行的https web应用程序上使用Selenium,java,selenium,login,popup,vpn,Java,Selenium,Login,Popup,Vpn,首先,我需要声明我完全是硒的初学者。 我正在尝试使用Selenium在firefox浏览器中测试一个应用程序。由于安全问题,应用程序只能通过vpn工作 我的问题发生在以下步骤中;我创建webdriver并导航到应用程序的开始(登录)页面。我得到一个“授权请求”弹出窗口。如果我取消弹出窗口,那么我会看到一个页面,上面写着“连接不安全”(它是https地址)。在我通过该测试后,我丢失了Selenium程序应该填充用户名和密码的部分,它只停留在登录页面上 我的问题是,有没有一种方法可以在应用程序上启动

首先,我需要声明我完全是硒的初学者。 我正在尝试使用Selenium在firefox浏览器中测试一个应用程序。由于安全问题,应用程序只能通过vpn工作

我的问题发生在以下步骤中;我创建webdriver并导航到应用程序的开始(登录)页面。我得到一个“授权请求”弹出窗口。如果我取消弹出窗口,那么我会看到一个页面,上面写着“连接不安全”(它是https地址)。在我通过该测试后,我丢失了Selenium程序应该填充用户名和密码的部分,它只停留在登录页面上

我的问题是,有没有一种方法可以在应用程序上启动Selenium测试,以便它已经在浏览器中打开并准备好(即登录)?我不高兴用户名和密码是用Selenium代码硬编码的

ProfilesIni profile = new ProfilesIni();
// this will create an object for the Firefox profile
FirefoxProfile myprofile = profile.getProfile("default");
// this will Initialize the Firefox driver
WebDriver driver = new FirefoxDriver(myprofile)
如果这是不可能的,我如何跳过授权弹出窗口和非安全连接的问题?如何以最安全的方式填充用户名和密码? 谢谢


}

无法打开已授权的页面,您必须通过selenium脚本传递用户名和密码

您可以使用以下代码进行身份验证

WebDriverWait wait = new WebDriverWait(driver, 10);      
Alert alert = wait.until(ExpectedConditions.alertIsPresent());     
alert.authenticateUsing(new UserAndPassword(username, password));
若可能,是否有一种方法可以在已经在浏览器中打开并准备好(登录)的应用程序上启动Selenium测试

尝试使用firefox配置文件。因为selenium默认打开浏览器的新实例。您可以使用自己的firefox文件

这是一个实现概要文件的代码,可以嵌入到selenium代码中

ProfilesIni profile = new ProfilesIni();
// this will create an object for the Firefox profile
FirefoxProfile myprofile = profile.getProfile("default");
// this will Initialize the Firefox driver
WebDriver driver = new FirefoxDriver(myprofile)

它还将维护会话,这意味着您已经在firefox中登录到应用程序(默认配置文件)。然后,如果你执行脚本,你会看到你已经登录到应用程序。

或者可以通过用户名和密码在URL ITSELFI已经尝试过,这是一个类似问题的答案,但它没有用。你能考虑展示你的作品吗?ThanksSee:SO的期望是,用户提出问题时不仅要进行研究以回答自己的问题,还要分享研究、代码尝试和结果。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!另见:我做了研究。另外,我之前已经尝试过建议的第一个解决方案(在这里找到),其他的解决方案很少,但都不起作用。我希望得到一些建议,而不是批评。“我将在这里添加代码,但这不会告诉你任何事情。”比尔贾纳姆。几点:1.正如你所提到的
我得到了“授权请求”弹出窗口
你能分享一下“授权请求”弹出窗口的快照吗?2. <代码>“连接不安全”我们可以处理它。感谢此解决方案非常有效(或者至少是在概念上,我已经用Chrome完成了这项工作,但没有FF)——特别是如果您需要持久本地存储数据以IndexedDB的形式出现在selenium测试中供客户端使用,但不希望每次测试都重新初始化/获取该数据。这确实有效。到目前为止,没有“身份验证”弹出窗口,看起来很好。谢谢