菜鸟教程小白 发表于 2022-12-13 10:35:08

ios - 使用 xml 或 css 或全局变量的数据驱动 ios-Calabash 自动化测试


                                            <p><p>我正在使用 calabash-ios 进行自动化测试。我希望能够运行 cucumber 一次,并让它为 x 个用户名运行 x 次,并运行整个测试场景。</p>

<p>我想用这个:</p>

<p>假设我使用 id [#{Login-name}] 和 pwd "PASSWORD"作为 [#{country-name}] 用户登录
并且有一个全局变量可以存储国家和用户名的值。</p>

<p>我曾希望使用脚本运行 cucumber x 次并每次设置全局变量的值。这可能吗?如果是这样,有人能指出我正确的方向吗?</p>

<p>我尝试使用:
@@登录名=值
但收到此错误:
features/step_definitions/common.rb:1:警告:从顶层访问类变量
对象中未初始化的类变量@@Login (NameError)</p>

<p>如果失败了,是否可以使用 calabash 访问存储在 xml 或 css 文件中的数据?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>如果你想用一些不同的变量多次运行同一个 cucumber ,你可以使用环境变量。</p>

<pre><code>Given I login as &#34;ENV[&#39;COUNTRY_NAME&#39;]&#34; user using id &#34;ENV[&#39;LOGIN_NAME&#39;]&#34; and pwd &#34;PASSWORD&#34;
</code></pre>

<p>然后当你运行测试时</p>

<pre><code>LOGIN_NAME=&#39;login name&#39; COUNTRY_NAME=country bundle exec cucumber
</code></pre>

<p>然后你当然可以把你想运行的所有行放到一个 bat 或 sh 脚本中。</p>

<p>需要注意的一件事是使用环境变量或其他变量来更改输出路径,以免覆盖它们。</p>

<p>但是,更优雅的解决方案是使用运行所有其他任务的 rake 任务来处理它。最有效的编写方式取决于您需要多少次不同的运行。</p>

<pre><code>task :all =&gt; [:task1, :task2, :task3]
</code></pre>

<p>编辑:为了使您的场景更具可读性,您应该在场景中使用通用占位符并在步骤定义中隐藏环境变量。</p>

<pre><code>    Given I login as a user
</code></pre>

<p>可能有一个看起来像这样的步骤定义:</p>

<pre><code>Given /^I login as a user$/ do
... set up your page object here ...   
login_page.login(ENV[&#39;COUNTRY_NAME&#39;], ENV[&#39;LOGIN_NAME&#39;])
end
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 使用 xml 或 css 或全局变量的数据驱动 ios-Calabash 自动化测试,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/29599304/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/29599304/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 使用 xml 或 css 或全局变量的数据驱动 ios-Calabash 自动化测试