我有以下设置:
每当我尝试通过Python脚本创建远程Webdriver时:
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.junit.Test;
import org.springframework.core.env.Environment;
import org.springframework.core.env.Profiles;
import org.springframework.core.env.StandardEnvironment;
public class EnvironmentProfilesTest {
@Test
public void testItWithRealEnvironment() {
System.setProperty(StandardEnvironment.ACTIVE_PROFILES_PROPERTY_NAME, "adrian");
Environment environment = new org.springframework.core.env.StandardEnvironment();
ToBeTested toBeTested = new ToBeTested(environment);
assertTrue(toBeTested.hello("adrian"));
}
@Test
public void testItWithMocklEnvironment() {
Environment environment = mock(Environment.class);
when(environment.acceptsProfiles(Profiles.of("adrian"))).thenReturn(true);
ToBeTested toBeTested = new ToBeTested(environment);
assertTrue(toBeTested.hello("adrian"));
}
private static class ToBeTested {
private Environment env;
public ToBeTested(Environment env) {
this.env = env;
}
public boolean hello(String s) {
return env.acceptsProfiles(Profiles.of(s));
}
}
}
最后一行确实显示了当前URL(即“ data :,”),这意味着已创建Webdriver。
但是浏览器无法在我的本地计算机上打开,这是因为它在后台运行,尽管它过去曾经工作过,但我不知道如何使其可见。
>我已完成的故障排除步骤:
确保本地Webdriver确实打开了: 那是一行:
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
desiredCapabilities = DesiredCapabilities.CHROME.copy()
chromeOptionsRemote = webdriver.ChromeOptions()
chromeOptionsRemote.add_argument("--start-maximized")
chromeOptionsRemote.add_argument("--disable-session-crashed-bubble")
initRemoteDriver = webdriver.Remote(options=chromeOptionsRemote, command_executor='http://127.0.0.1:<nodePortNum>/wd/hub', desired_capabilities=desiredCapabilities)
print(initRemoteDriver.current_url)
在本地打开浏览器(Chromedriver在路径中)。
完成这些疑难解答步骤后,我在远程服务器上尝试了相同的配置并获得了相同的结果(浏览器不可见),因此我认为这可能是设计使然。
我应该为浏览器创建什么配置?
任何帮助将不胜感激。
答案 0 :(得分:0)
我通过Always-Up运行jar文件:https://www.coretechnologies.com/products/AlwaysUp/
问题与会话0隔离有关:https://stackoverflow.com/a/26752251/2710840
并从上下文菜单中执行该应用程序,并选择:“在此会话中重新启动”