菜鸟教程小白 发表于 2022-12-13 13:33:28

ios - Xcodes UI 测试 - 点击一个 x y 位置


                                            <p><p>我在使用 Xcode 和 UI 测试时尝试点击 x、y 位置。这是我的代码:</p>

<pre><code> XCUIApplication().coordinateWithNormalizedOffset(CGVector(dx: 50, dy: 50)).tap()
</code></pre>

<p>按钮的中间肯定在那个位置,不能被识别为一个单独的对象(因此使用 x, y 坐标)。</p>

<p>但是,这不是按下按钮。任何人都知道是否有正确的方法来点击 x y 坐标?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p><code>dx</code> 和<code>dy</code> 不是像素偏移,而是归一化向量。例如,0.5 实际上是元素的中间。您的代码正在尝试点击屏幕边界外的元素(大约 50 倍!)。</p>

<p>我建议尝试用不同的方法解决问题。首先,为什么不能识别按钮?你试过什么?您使用的是自定义 <code>UIButton</code> 子类吗?</p>

<p>我问是因为您(通常)可以使用正确的辅助功能属性将任何控件或 UI 元素公开给 UI 测试。例如,您可以将 <code>accessibilityLabel</code> 和 <code>accessibilityIdentifier</code> 设置为按钮的文本。然后您可以使用该值访问被测按钮。</p>

<pre><code>// Production Code
let button = UIButton()
button.setTitle(&#34;Save&#34;, forState: .Normal)
button.accessibilityIdentifier = &#34;Save&#34;

// UI Test Code
```
let app = XCUIApplication()
app.buttons[&#34;Save&#34;].tap()
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Xcodes UI 测试 - 点击一个 x y 位置,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/37075411/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/37075411/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Xcodes UI 测试 - 点击一个 x y 位置