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
C# Android服务器在上不可用http://localhost:8080/wd/hub 从主机_C#_Selenium_Android Emulator - Fatal编程技术网

C# Android服务器在上不可用http://localhost:8080/wd/hub 从主机

C# Android服务器在上不可用http://localhost:8080/wd/hub 从主机,c#,selenium,android-emulator,C#,Selenium,Android Emulator,我正在安装android驱动程序,并遵循url中提到的相同步骤: 1) 下载了适用于windows的android SDK,并解压缩并放置在selenium存储库的路径中 2) 设置模拟器并创建新的AVD(android虚拟设备) 3) 安装了webdriver apk 4) 端口转发,以便将流量从主机转发到仿真器。在终端类型中: $./adb-s转发tcp:8080 tcp:8080 5) 这将使android服务器在主机上的//localhost:8080/wd/hub位置可用 但当我转到l

我正在安装android驱动程序,并遵循url中提到的相同步骤:

1) 下载了适用于windows的android SDK,并解压缩并放置在selenium存储库的路径中 2) 设置模拟器并创建新的AVD(android虚拟设备) 3) 安装了webdriver apk 4) 端口转发,以便将流量从主机转发到仿真器。在终端类型中:

$./adb-s转发tcp:8080 tcp:8080

5) 这将使android服务器在主机上的//localhost:8080/wd/hub位置可用

但当我转到localhost:8080/wd/hub时,它显示了错误404:notfound

让我知道为什么会这样?我错过了什么

在android emulator中点击webdriver时,会显示webdriver就绪,但在Jetty启动时不会显示消息。。你能告诉我为什么码头没有开工吗

我做了一些Selenium C#测试,并从firefox改为android驱动程序,当我编译并运行它时,得到了相同的webdriver异常:404找不到


你能帮忙吗。谢谢

我也遇到了同样的问题,下面是我如何解决的

  • 我从macupdate获得了SDK。你也可以从官方网站下载
  • 将其解压缩到我的回购,并将其符号链接到我的主文件夹。所以它看起来像:

    /Volumes/repo/android_sdk
    ~/android_sdk -> /Volumes/repo/android_sdk
    /Volumes/repo/selenium
    
注:硒源

  • 为了方便起见,我将android-server-2.21.0.apk移动到~/android\u sdk,下面是我如何设置模拟器的:

    ~/android_sdk/tools/android update sdk --no-ui
    ~/android_sdk/tools/android create avd -n my_android -t 12 -c 100M
    ~/android_sdk/tools/emulator -avd my_android &
    ~/android_sdk/platform-tools/adb -s emulator-5554 -e install -r  ~/android_sdk/android-server-2.21.0.apk
    ~/android_sdk/platform-tools/adb -s emulator-5554 shell am start -a android.intent.action.MAIN -n org.openqa.selenium.android.app/.MainActivity
    ~/android_sdk/platform-tools/adb -s emulator-5554 forward tcp:8080 tcp:8080
    
  • 我没有看到“码头启动”
  • 你的问题提到了C#,但与问题无关。我使用python;因此:

    from selenium import webdriver
    android = webdriver.Remote(command_executor='http://localhost:8080/wd/hub', desired_capabilities=webdriver.DesiredCapabilities.ANDROID)
    android.get("http://google.com")
    

尝试使用ipnumber而不是localhostHi谢谢您的回答。但是你能更详细地解释我需要如何使用ipnumber,以及如何找到android访问本地web服务器托管的站点吗。以及如何知道仿真器使用哪个地址来使用本地web服务。当我尝试在端口转发后获取错误404:未找到。我浏览过的地址。你能帮忙吗?它说webdriver是在android模拟器中启动的,但不是说Jetty启动了。。。。。。我需要安装其他东西来启动Jetty?你能帮我用你的电脑ip号码替换本地主机吗(google how)例如:192.168.0.1:8080/wd/hub但问题是Jetty没有启动(在emulator中没有显示为Jetty启动)。我试图用ip地址替换,但没有wo,并且android服务器在主机上的本地主机:8080/wd/hub不可用。(也尝试使用ipaddress..没有乐趣)当我通过更改为driver=new AndroidDriver()运行测试时;失败:安装程序:OpenQA.Selenium.WebDriverException:意外错误。错误404找不到HTTP错误:404访问/hub/session时出现问题。原因:找不到由Jetty://TearDown:System.NullReferenceException供电的对象引用未设置为对象的实例。