菜鸟教程小白 发表于 2022-12-13 11:36:29

ios - 从 js 到 Objective-C 的谓词


                                            <p><p>我有一个 .js 文件,用于使用 Instruments.app 进行屏幕截图自动化,我在其中查找具有以下谓词的单元格:</p>

<pre><code>var classScheduleCell = classScheduleTableView.cells().firstWithPredicate(&#34;isEnabled == 1 &amp;&amp; NONE staticTexts.value BEGINSWITH &#39;No classes&#39;&#34;).withValueForKey(1, &#34;isVisible&#34;);
</code></pre>

<p>我想将该谓词转换为客观的 C UI 测试,因为我用于屏幕截图的 ruby​​ 脚本现在使用 UI 测试而不是 Instruments。使用相同的谓词失败</p>

<pre><code>XCUIElement *firstCell = ];
</code></pre>

<p>看起来我可以改变谓词的第一部分</p>

<pre><code>isEnabled == 1
</code></pre>

<p>为</p>

<pre><code>enabled == true
</code></pre>

<p>关于如何使另一部分工作的任何想法?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我找到了一个解决方案,虽然不是最优雅的。我找不到让谓词像我在 UI 自动化中那样工作的方法,所以我使用了几个 for 循环来检查单元格标签的值。</p>

<pre><code>NSPredicate *enabledCellsPredicate = ;
XCUIElementQuery *enabledCellsQuery = ;
int cellCount = enabledCellsQuery.count;
for (int i = 0; i &lt; cellCount; i++) {
    XCUIElement *cellElement = ;
    XCUIElementQuery *cellStaticTextsQuery = cellElement.staticTexts;
    int textCount = cellStaticTextsQuery.count;
    BOOL foundNoClasses = NO;
    for (int j = 0; j &lt; textCount; j++) {
      XCUIElement *textElement = ;
      if (textElement.value &amp;&amp; .location != NSNotFound) {
            foundNoClasses = YES;
            break;
      }
    }
    if (foundNoClasses == NO) {
      ;
      break;
    }
}
</code></pre>

<p>感谢@joe-masilotti 的帮助。 </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 从 js 到 Objective-C的谓词,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/33349909/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/33349909/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 从 js 到 Objective-C 的谓词