Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.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
Android 安卓功能测试;将地理位置发送到模拟器_Android_Geolocation_Functional Testing - Fatal编程技术网

Android 安卓功能测试;将地理位置发送到模拟器

Android 安卓功能测试;将地理位置发送到模拟器,android,geolocation,functional-testing,Android,Geolocation,Functional Testing,我们的android应用程序正变得相当大,我们希望对我们的应用程序使用功能测试来防止回归。我们正在寻找实现这一目标的各种选择 我们使用地理位置,所以现在我们通过在DDMS中输入lat/long来测试应用程序。如果我们想对此进行测试,应该可以通过编程方式设置这些地理位置 是否有一个框架可以用来测试我们的android应用程序的功能,并将这些更新发送到我们的仿真器?如果您在Eclipse中编译,您可以在android仿真器中伪造lat/lon: 窗口>打开透视图>其他 选择DDMS 搜索仿真器控件

我们的android应用程序正变得相当大,我们希望对我们的应用程序使用功能测试来防止回归。我们正在寻找实现这一目标的各种选择

我们使用地理位置,所以现在我们通过在DDMS中输入lat/long来测试应用程序。如果我们想对此进行测试,应该可以通过编程方式设置这些地理位置


是否有一个框架可以用来测试我们的android应用程序的功能,并将这些更新发送到我们的仿真器?

如果您在Eclipse中编译,您可以在android仿真器中伪造lat/lon:

  • 窗口>打开透视图>其他
  • 选择DDMS
  • 搜索仿真器控件选项卡
  • 使用位置控件可以随时发送纬度和经度
      我也面临同样的问题。虽然这个解决方案没有内置到robotium中,但您应该能够将它变成一个可以在单元测试中使用的实用程序


      如果使用monkeyrunner,则可以使用以下功能:

      def telnet(host, port):
          s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
          s.settimeout(2)
      
          # connect to remote host
          try :
              s.connect((host, port))
          except :
              print 'Unable to connect'
              sys.exit()
      
          print 'Connected to remote host'
          return s
      
      def geo_fix(port, lat, lng):
          print "setting gps to " + str(lat) + "," + str(lng)
          socket = telnet("localhost", port)
          socket.send("geo fix " + str(lng) + " " + str(lat) + "\n")
          socket.send("exit\n")
          socket.close()
      
      geo_fix(5554, 32.0878802, 34.797246)
      

      我找不到从MonkeyDevice获取仿真器端口的方法,因此我手动传递端口,但如果我们能够从设备对象中找到它,那就更好了

      我们已经使用DDMS手动设置了它,但我们希望能够在程序启动应用程序后设置它。monkeyrunner可以发送ADB命令,但是否有ADB命令发送位置?您可以手动设置:1º如果您有GPS位置更新,请对其进行注释。2º编写函数设置位置,创建新类android.location.location,myclasslocation.setLatitude(latitude)3º启动函数按下按钮,在对话框或新活动中,您可以将意图放在选项菜单中。这可以工作,但我不想更改代码使测试工作,monkeyrunner/robotium或androidrunner中是否存在一种解决方案,可以将文本发送到文本字段,将地理位置发送到模拟器?如果存在另一种解决方案,我不知道是什么解决方案。您可以创建一个testObject.java文件来测试它。1º创建测试对象,调用菜单上下文,调用函数进行更改,测试它。您将只更改原始代码上的两行。我帮不了你更多。