我们的Android应用程序变得相当大,我们希望为我们的应用程序使用功能测试来防止回归。我们正在寻找实现这一目标的选择。
我们使用地理位置,所以现在我们通过在DDMS中输入lat / long来测试应用程序。如果我们想测试一下,应该可以通过编程方式设置这些地理位置。
是否有一个框架可用于功能测试我们的Android应用程序并将这些更新发送到我们的模拟器?
答案 0 :(得分:6)
如果你在Eclipse中编译,你可以伪造android模拟器中的lat / lon:
答案 1 :(得分:4)
我面临同样的问题。虽然这个解决方案没有内置到robotium中,但您应该能够将其变成可以在单元测试中使用的实用程序。
答案 2 :(得分:0)
如果您使用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获取模拟器端口的方法,所以我手动传递端口,但如果我们能够从设备对象中找出它就会更好