我正在开发Xamarin Forms应用程序(现阶段仅支持IOS),并希望向解决方案中添加一些UI测试。按照推荐的标准方法(例如https://www.codetraveler.io/2018/05/22/creating-uitests-for-xamarin-forms-apps-part-1/),我可以使该应用程序在模拟器中启动并启动REPL会话/截屏。
一旦加载了应用程序,就会向用户显示一个屏幕,其中包含一些用户可以通过左右滑动或点击“下一步”按钮来关闭的信息。 REPL可以正确识别屏幕上的元素,但是“下一个”按钮(或与此有关的任何其他元素)不会对tap命令作出反应。调用以下代码:
2019-07-08 09:45:13,969 INFO o.a.j.u.JMeterUtils: Setting Locale to en_EN
2019-07-08 09:45:13,984 INFO o.a.j.JMeter: Loading user properties from: user.properties
2019-07-08 09:45:13,985 INFO o.a.j.JMeter: Loading system properties from: system.properties
2019-07-08 09:45:13,990 INFO o.a.j.JMeter: Copyright (c) 1998-2019 The Apache Software Foundation
2019-07-08 09:45:13,991 INFO o.a.j.JMeter: Version 5.1.1 r1855137
2019-07-08 09:45:13,991 INFO o.a.j.JMeter: java.version=1.8.0_212
2019-07-08 09:45:13,991 INFO o.a.j.JMeter: java.vm.name=Java HotSpot(TM) 64-Bit Server VM
2019-07-08 09:45:13,991 INFO o.a.j.JMeter: os.name=Windows 10
2019-07-08 09:45:13,991 INFO o.a.j.JMeter: os.arch=amd64
2019-07-08 09:45:13,991 INFO o.a.j.JMeter: os.version=10.0
2019-07-08 09:45:13,991 INFO o.a.j.JMeter: file.encoding=Cp1252
2019-07-08 09:45:13,991 INFO o.a.j.JMeter: java.awt.headless=null
2019-07-08 09:45:13,991 INFO o.a.j.JMeter: Max memory =1073741824
2019-07-08 09:45:13,991 INFO o.a.j.JMeter: Available Processors =8
2019-07-08 09:45:13,995 INFO o.a.j.JMeter: Default Locale=English (EN)
2019-07-08 09:45:13,995 INFO o.a.j.JMeter: JMeter Locale=English (EN)
2019-07-08 09:45:13,995 INFO o.a.j.JMeter: JMeterHome=D:\JMeter\apache-jmeter-5.1.1
2019-07-08 09:45:13,995 INFO o.a.j.JMeter: user.dir =D:\JMeter\apache-jmeter-5.1.1\bin
2019-07-08 09:45:13,996 INFO o.a.j.JMeter: PWD =D:\JMeter\apache-jmeter-5.1.1\bin
2019-07-08 09:45:13,998 INFO o.a.j.JMeter: IP: 192.168.0.100 Name: USER-HOST FullName: USER-HOST.domain.com
2019-07-08 09:45:14,193 INFO o.a.j.g.a.LookAndFeelCommand: Installing Darcula LAF
2019-07-08 09:45:14,208 INFO o.a.j.g.a.LookAndFeelCommand: Using look and feel: com.bulenkov.darcula.DarculaLaf [Darcula]
2019-07-08 09:45:14,208 INFO o.a.j.JMeter: Setting LAF to: com.bulenkov.darcula.DarculaLaf
2019-07-08 09:45:14,265 INFO o.a.j.JMeter: Loaded icon properties from org/apache/jmeter/images/icon.properties
2019-07-08 09:45:15,770 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/html is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2019-07-08 09:45:15,771 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for application/xhtml+xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2019-07-08 09:45:15,771 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for application/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2019-07-08 09:45:15,771 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2019-07-08 09:45:15,771 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser
2019-07-08 09:45:15,771 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/css is org.apache.jmeter.protocol.http.parser.CssParser
2019-07-08 09:45:15,917 INFO o.a.j.e.KeyToolUtils: Exception checking for keytool existence, will return false, try another way.
2019-07-08 09:45:16,320 INFO o.a.j.e.KeyToolUtils: keytool found at 'C:\Program Files\Java\jre1.8.0_212\bin\keytool'
2019-07-08 09:45:16,320 INFO o.a.j.p.h.p.ProxyControl: HTTP(S) Test Script Recorder SSL Proxy will use keys that support embedded 3rd party resources in file D:\JMeter\apache-jmeter-5.1.1\bin\proxyserver.jks
2019-07-08 09:45:16,477 INFO o.a.j.s.FileServer: Default base='D:\JMeter\apache-jmeter-5.1.1\bin'
2019-07-08 09:45:16,888 WARN o.a.j.g.u.MenuFactory: Could not instantiate class: org.apache.jmeter.protocol.smtp.sampler.gui.SmtpSamplerGui
java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_212]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_212]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_212]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_212]
at org.apache.jmeter.gui.util.MenuFactory.getGUIComponent(MenuFactory.java:174) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.gui.util.MenuFactory.initializeMenus(MenuFactory.java:141) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.gui.util.MenuFactory.<clinit>(MenuFactory.java:106) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.control.gui.TestPlanGui.createPopupMenu(TestPlanGui.java:92) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.gui.tree.JMeterTreeNode.createPopupMenu(JMeterTreeNode.java:185) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.gui.action.EditCommand.doAction(EditCommand.java:46) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:88) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:70) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at java.awt.event.InvocationEvent.dispatch(Unknown Source) [?:1.8.0_212]
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) [?:1.8.0_212]
at java.awt.EventQueue.access$500(Unknown Source) [?:1.8.0_212]
at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_212]
at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_212]
at java.security.AccessController.doPrivileged(Native Method) [?:1.8.0_212]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) [?:1.8.0_212]
at java.awt.EventQueue.dispatchEvent(Unknown Source) [?:1.8.0_212]
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [?:1.8.0_212]
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [?:1.8.0_212]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [?:1.8.0_212]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_212]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_212]
at java.awt.EventDispatchThread.run(Unknown Source) [?:1.8.0_212]
Caused by: java.lang.NullPointerException
at javax.swing.plaf.metal.MetalFileChooserUI$IndentIcon.getIconWidth(Unknown Source) ~[?:1.8.0_212]
at javax.swing.SwingUtilities.layoutCompoundLabelImpl(Unknown Source) ~[?:1.8.0_212]
at javax.swing.SwingUtilities.layoutCompoundLabel(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.basic.BasicLabelUI.layoutCL(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.basic.BasicLabelUI.getPreferredSize(Unknown Source) ~[?:1.8.0_212]
at javax.swing.JComponent.getPreferredSize(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.basic.BasicListUI.updateLayoutState(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.basic.BasicListUI$Handler.valueChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source) ~[?:1.8.0_212]
at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source) ~[?:1.8.0_212]
at javax.swing.DefaultListSelectionModel.setSelectionInterval(Unknown Source) ~[?:1.8.0_212]
at javax.swing.JList.setSelectedIndex(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.basic.BasicComboPopup.setListSelection(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.basic.BasicComboPopup.access$300(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.basic.BasicComboPopup$Handler.itemStateChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.JComboBox.fireItemStateChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.JComboBox.selectedItemChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.JComboBox.contentsChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.AbstractListModel.fireContentsChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.metal.MetalFileChooserUI$DirectoryComboBoxModel.setSelectedItem(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.metal.MetalFileChooserUI$DirectoryComboBoxModel.addItem(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.metal.MetalFileChooserUI$DirectoryComboBoxModel.access$800(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.metal.MetalFileChooserUI.doDirectoryChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.metal.MetalFileChooserUI.access$1100(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.metal.MetalFileChooserUI$5.propertyChange(Unknown Source) ~[?:1.8.0_212]
at java.beans.PropertyChangeSupport.fire(Unknown Source) ~[?:1.8.0_212]
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) ~[?:1.8.0_212]
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) ~[?:1.8.0_212]
at java.awt.Component.firePropertyChange(Unknown Source) ~[?:1.8.0_212]
at javax.swing.JFileChooser.setCurrentDirectory(Unknown Source) ~[?:1.8.0_212]
at javax.swing.JFileChooser.<init>(Unknown Source) ~[?:1.8.0_212]
at javax.swing.JFileChooser.<init>(Unknown Source) ~[?:1.8.0_212]
at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpPanel.initComponents(SmtpPanel.java:576) ~[ApacheJMeter_mail.jar:5.1.1 r1855137]
at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpPanel.<init>(SmtpPanel.java:117) ~[ApacheJMeter_mail.jar:5.1.1 r1855137]
at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpSamplerGui.makeDataPanel(SmtpSamplerGui.java:190) ~[ApacheJMeter_mail.jar:5.1.1 r1855137]
at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpSamplerGui.init(SmtpSamplerGui.java:170) ~[ApacheJMeter_mail.jar:5.1.1 r1855137]
at org.apache.jmeter.protocol.smtp.sampler.gui.SmtpSamplerGui.<init>(SmtpSamplerGui.java:47) ~[ApacheJMeter_mail.jar:5.1.1 r1855137]
... 26 more
2019-07-08 09:45:17,093 INFO o.a.j.s.SampleResult: Note: Sample TimeStamps are START times
2019-07-08 09:45:17,093 INFO o.a.j.s.SampleResult: sampleresult.default.encoding is set to ISO-8859-1
2019-07-08 09:45:17,094 INFO o.a.j.s.SampleResult: sampleresult.useNanoTime=true
2019-07-08 09:45:17,094 INFO o.a.j.s.SampleResult: sampleresult.nanoThreadSleep=5000
2019-07-08 09:45:22,906 ERROR o.a.j.JMeter: Uncaught exception:
java.lang.ExceptionInInitializerError: null
at org.apache.jmeter.gui.action.Save.computeFileName(Save.java:203) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.gui.action.Save.doAction(Save.java:165) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:88) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:70) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at java.awt.event.InvocationEvent.dispatch(Unknown Source) ~[?:1.8.0_212]
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) ~[?:1.8.0_212]
at java.awt.EventQueue.access$500(Unknown Source) ~[?:1.8.0_212]
at java.awt.EventQueue$3.run(Unknown Source) ~[?:1.8.0_212]
at java.awt.EventQueue$3.run(Unknown Source) ~[?:1.8.0_212]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_212]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) ~[?:1.8.0_212]
at java.awt.EventQueue.dispatchEvent(Unknown Source) ~[?:1.8.0_212]
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [?:1.8.0_212]
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [?:1.8.0_212]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [?:1.8.0_212]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_212]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_212]
at java.awt.EventDispatchThread.run(Unknown Source) [?:1.8.0_212]
Caused by: java.lang.NullPointerException
at javax.swing.plaf.metal.MetalFileChooserUI$IndentIcon.getIconWidth(Unknown Source) ~[?:1.8.0_212]
at javax.swing.SwingUtilities.layoutCompoundLabelImpl(Unknown Source) ~[?:1.8.0_212]
at javax.swing.SwingUtilities.layoutCompoundLabel(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.basic.BasicLabelUI.layoutCL(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.basic.BasicLabelUI.getPreferredSize(Unknown Source) ~[?:1.8.0_212]
at javax.swing.JComponent.getPreferredSize(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.basic.BasicListUI.updateLayoutState(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.basic.BasicListUI$Handler.valueChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source) ~[?:1.8.0_212]
at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source) ~[?:1.8.0_212]
at javax.swing.DefaultListSelectionModel.setSelectionInterval(Unknown Source) ~[?:1.8.0_212]
at javax.swing.JList.setSelectedIndex(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.basic.BasicComboPopup.setListSelection(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.basic.BasicComboPopup.access$300(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.basic.BasicComboPopup$Handler.itemStateChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.JComboBox.fireItemStateChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.JComboBox.selectedItemChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.JComboBox.contentsChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.AbstractListModel.fireContentsChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.metal.MetalFileChooserUI$DirectoryComboBoxModel.setSelectedItem(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.metal.MetalFileChooserUI$DirectoryComboBoxModel.addItem(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.metal.MetalFileChooserUI$DirectoryComboBoxModel.access$800(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.metal.MetalFileChooserUI.doDirectoryChanged(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.metal.MetalFileChooserUI.access$1100(Unknown Source) ~[?:1.8.0_212]
at javax.swing.plaf.metal.MetalFileChooserUI$5.propertyChange(Unknown Source) ~[?:1.8.0_212]
at java.beans.PropertyChangeSupport.fire(Unknown Source) ~[?:1.8.0_212]
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) ~[?:1.8.0_212]
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) ~[?:1.8.0_212]
at java.awt.Component.firePropertyChange(Unknown Source) ~[?:1.8.0_212]
at javax.swing.JFileChooser.setCurrentDirectory(Unknown Source) ~[?:1.8.0_212]
at javax.swing.JFileChooser.<init>(Unknown Source) ~[?:1.8.0_212]
at javax.swing.JFileChooser.<init>(Unknown Source) ~[?:1.8.0_212]
at org.apache.jmeter.gui.util.FileDialoger.<clinit>(FileDialoger.java:40) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
... 18 more
2019-07-08 09:45:53,594 ERROR o.a.j.JMeter: Uncaught exception:
java.lang.NoClassDefFoundError: Could not initialize class org.apache.jmeter.gui.util.FileDialoger
at org.apache.jmeter.gui.action.Save.computeFileName(Save.java:203) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.gui.action.Save.doAction(Save.java:165) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:88) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.gui.action.ActionRouter.doActionNow(ActionRouter.java:125) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.gui.action.AbstractAction.popupShouldSave(AbstractAction.java:77) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.gui.action.Start.doAction(Start.java:113) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:88) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:70) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at java.awt.event.InvocationEvent.dispatch(Unknown Source) ~[?:1.8.0_212]
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) ~[?:1.8.0_212]
at java.awt.EventQueue.access$500(Unknown Source) ~[?:1.8.0_212]
at java.awt.EventQueue$3.run(Unknown Source) ~[?:1.8.0_212]
at java.awt.EventQueue$3.run(Unknown Source) ~[?:1.8.0_212]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_212]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) ~[?:1.8.0_212]
at java.awt.EventQueue.dispatchEvent(Unknown Source) ~[?:1.8.0_212]
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [?:1.8.0_212]
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [?:1.8.0_212]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [?:1.8.0_212]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_212]
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_212]
at java.awt.EventDispatchThread.run(Unknown Source) [?:1.8.0_212]
显示以下消息:
app.Tap("next");
但是模拟器中实际上没有任何变化。我已经尝试与各种其他元素或查询选择器进行交互(例如,使用app.Marked ..),并且还尝试使用app.TapCoordinates()来敲击坐标;在打开的模拟器会话中似乎没有任何反应。
有趣的是,命令
Tapping element matching Marked("next") at coordinates [ 689.25, 53.75 ].
注册正确,并导致启动画面在模拟器中消失。
我尝试使用XF 4.1设置空白测试项目,这似乎可以正常工作,但是我不认为XF的版本可能是这里的问题,更像是模拟器设置。开发人员标签中的“启用UI自动化”设置已启用。
app.SwipeRightToLeft();
答案 0 :(得分:0)
所以发生了什么事,似乎是在较大的iPad尺寸(大于9.3英寸)上错误地缩放了应用程序
通话:
app.TapCoordinates(689.25 * 1.3, 53.75 * 1.4)
具有理想的效果。
我很高兴继续在较小的设备上进行测试,但是很高兴找出为什么扩展问题首先存在以及如何解决。
相关: https://forums.xamarin.com/discussion/113639/app-tap-wrong-coordinates-on-ipad