在android appium测试中模拟输入/发送键

时间:2016-11-16 09:58:17

标签: android automated-tests appium

我正在尝试自动化我编写的Android应用程序的一部分。我这个活动我有一个edittext用于输入产品编号。

输入产品编号后,用户点击软件键盘发送按钮开始搜索该产品,但是我无法使用java-appium模拟软键盘的发送/输入密钥。

以下代码在android 4.4.4及更低版本中运行良好,但在android 6.0 +

中运行不正常
element.sendKeys(productNumber + "\n");

以下代码无效

element.sendKeys(productNumber + Keys.ENTER);

1 个答案:

答案 0 :(得分:1)

我发现只有这个解决方案才是最可靠的解决方案 - 模拟手动提交按钮。

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
    <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
    <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>

    <style>
        #social_icons {
            /*padding: .5em;*/
            padding: 0;
            line-height: 2.7;
            -webkit-columns: 150px 2;
            font-size: 1.2em;
        }

        .topmenu li {
            display: inline-block;
        }

        #footer {
            clear: both;
            position: relative;
            z-index: 10;
            height: 3em;
            margin-top: -3em;
        }
        #wgmstr {
    max-width: 30px;
    min-width: 30px;
    width: 30px !important;
}
    </style>
</head>
<body>
    <div id="wrapper">

        <div data-role="page" id="pageone">

            <div data-role="header">
                <h1>menu</h1>
                <div data-role="navbar">
                    <ul>
                        <li><a href="http://localhost:4400/homePageArabic.html" data-icon="back"> back</a></li>
                        <li><a href="#" data-icon="gear"></a></li>
                    </ul>

                </div>

            </div>

            <div data-role="main" class="ui-content">
                <select name="wgtmsr" id="wgtmsr">
                    <option value="jan">Jan</option>
                    <option value="feb">Feb</option>
                    <option value="march">March</option>
                    <option value="april">April</option>
                    <option value="may">May</option>
                    <option value="june">June</option>
                    <option value="july">July</option>
                    <option value="august">Aug</option>
                    <option value="sep">Sep</option>
                    <option value="oct">Oct</option>
                    <option value="nov">Nov</option>
                    <option value="dec">Dec</option>
                </select>
            </div>

            <div id="footer" data-role="footer" style="text-align:center">
                <h1></h1>


                <div id="social_icons">
                    <a href="https://www.instagram.com/" target="_blank"><img src="images/1479300106_instagram.png" align="middle"></a>
                    <a href="https://www.facebook.com/" target="_blank"><img src="images/1479300135_facebook.png" align="middle"></a>
                    <a href="https://www.youtube.com/" target="_blank"><img src="images/1479310570_youtube.png" align="middle"></a>
                    <a href="https://twitter.com/" target="_blank"><img src="images/1479300112_twitter.png" align="middle"></a>


                </div>
            </div>
        </div>
    </div>


</body>
</html>