Android 安卓功能测试;将地理位置发送到模拟器
我们的android应用程序正变得相当大,我们希望对我们的应用程序使用功能测试来防止回归。我们正在寻找实现这一目标的各种选择 我们使用地理位置,所以现在我们通过在DDMS中输入lat/long来测试应用程序。如果我们想对此进行测试,应该可以通过编程方式设置这些地理位置Android 安卓功能测试;将地理位置发送到模拟器,android,geolocation,functional-testing,Android,Geolocation,Functional Testing,我们的android应用程序正变得相当大,我们希望对我们的应用程序使用功能测试来防止回归。我们正在寻找实现这一目标的各种选择 我们使用地理位置,所以现在我们通过在DDMS中输入lat/long来测试应用程序。如果我们想对此进行测试,应该可以通过编程方式设置这些地理位置 是否有一个框架可以用来测试我们的android应用程序的功能,并将这些更新发送到我们的仿真器?如果您在Eclipse中编译,您可以在android仿真器中伪造lat/lon: 窗口>打开透视图>其他 选择DDMS 搜索仿真器控件
是否有一个框架可以用来测试我们的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º创建测试对象,调用菜单上下文,调用函数进行更改,测试它。您将只更改原始代码上的两行。我帮不了你更多。