Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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
从Javascript代码访问本机IOS函数_Javascript_Ios_Instruments_Ios Ui Automation - Fatal编程技术网

从Javascript代码访问本机IOS函数

从Javascript代码访问本机IOS函数,javascript,ios,instruments,ios-ui-automation,Javascript,Ios,Instruments,Ios Ui Automation,有人能帮我吗 我有一个访问联系人簿的Objective C应用程序;建立用户名、电子邮件id及其图片的列表;使用列表将其显示在屏幕上 我想用仪器自动测试这个功能。我想从屏幕上的Tableview中检索用户列表。这很有效。从这个列表中,我还可以得到电子邮件id和图片。我现在想做的是能够获取此联系人数据并根据联系人簿进行验证。但是,我不知道如何从Javascript调用Objective C函数来实现这一点 提前感谢。在UI自动化中无法从JavaScript调用Objective-C函数。JavaS

有人能帮我吗

我有一个访问联系人簿的Objective C应用程序;建立用户名、电子邮件id及其图片的列表;使用列表将其显示在屏幕上

我想用仪器自动测试这个功能。我想从屏幕上的Tableview中检索用户列表。这很有效。从这个列表中,我还可以得到电子邮件id和图片。我现在想做的是能够获取此联系人数据并根据联系人簿进行验证。但是,我不知道如何从Javascript调用Objective C函数来实现这一点


提前感谢。

在UI自动化中无法从JavaScript调用Objective-C函数。JavaScript运行时完全是沙盒。与应用程序通信的唯一方法是通过UIAEElement脚本接口


如果您正在寻找一个可以调用任意Objective-C对象的测试工具,那么您可能需要研究一下。它在你的应用程序中运行,并且是用Objective-C编写的。

在UI自动化中无法从JavaScript调用Objective-C函数。JavaScript运行时完全是沙盒。与应用程序通信的唯一方法是通过UIAEElement脚本接口


如果您正在寻找一个可以调用任意Objective-C对象的测试工具,那么您可能需要研究一下。它在你的应用程序中运行,并且是用Objective-C编写的。

有多种方法可以做到这一点,尽管我们正在尝试设计最好的方法。候选人:

  • 一个准隐藏文本字段,您可以从UIAutomation中插入该字段,然后您的应用程序从中读取内容,然后回写(或写入其他内容)。缺点是UIA似乎在隐藏文本字段方面很聪明。但我相信有办法让它变得不那么聪明
  • 在主机上运行并与应用程序上的侦听器通信以交换数据的网络服务器。安装起来很痛苦,但保证可以工作。我们已经有了这个渠道,因为我们在开发期间使用Nimbus和CSS/XML进行运行时更新,所以对我们来说比大多数人都容易

实现这一点的方法有很多种,尽管我们正试图找到最好的方法。候选人:

  • 一个准隐藏文本字段,您可以从UIAutomation中插入该字段,然后您的应用程序从中读取内容,然后回写(或写入其他内容)。缺点是UIA似乎在隐藏文本字段方面很聪明。但我相信有办法让它变得不那么聪明
  • 在主机上运行并与应用程序上的侦听器通信以交换数据的网络服务器。安装起来很痛苦,但保证可以工作。我们已经有了这个渠道,因为我们在开发期间使用Nimbus和CSS/XML进行运行时更新,所以对我们来说比大多数人都容易

谢谢你,乔纳森。我对沙盒架构也有同样的想法,但我希望(与希望相反!)该架构类似于Android上的Robotium,它允许您从Robotium自动化代码中调用本机Android Java函数。我将与我的团队一起检查是否可以使用KIF——如果它不需要以任何方式修改AppUnderTest,那么这可能是一种可能性。谢谢汉克斯·乔纳森。我对沙盒架构也有同样的想法,但我希望(与希望相反!)该架构类似于Android上的Robotium,它允许您从Robotium自动化代码中调用本机Android Java函数。我将与我的团队一起检查是否可以使用KIF——如果它不需要以任何方式修改AppUnderTest,那么这可能是一种可能性。谢谢