- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Robotium 测试此 Android 应用程序的一部分,它允许用户在 Canvas 上涂鸦。笔画作为 SVG 元素(自定义类)存储在 java.util.List
中。我通过 solo.drag
模拟线条绘制手势,并打印两个位图的生成 ID - 绘制之前和绘制之后。生成 ID 彼此不同,这意味着位图已被修改。但 SVG 元素列表为空(我在以下代码 fragment 的倒数第二行得到一个 NullPointerException
)。怎么会这样?
代码如下:
Bitmap testBitmap = (([package.name].MainActivity) solo.getCurrentActivity()).getPaintView().getBitmap();
int emptyBitmapGenID = testBitmap.getGenerationId();
Log.d(this.getClass().getName(), ""+emptyBitmapGenID);
solo.drag(strokeFromX, strokeToX, strokeFromY, strokeToY, strokeStepCount);
solo.clickOnScreen(10, 10); //To release the touch
int strokedBitmapGenID = testBitmap.getGenerationId();
Log.d(this.getClass().getName(), ""+strokedBitmapGenID);
solo.waitForActivity(MainActivity.class);
List<[package.name].SVG.SVG_Element> elementList = (([package.name].MainActivity) solo.getCurrentActivity()).getRenderManager().getCurrDisplayList(false);
if(elementList==null)
{
Log.d(this.getClass().getName(), "SVG element list null!");
}
Log.d(this.getClass().getName(), ""+elementList.toString());
[package.name].SVG.SVG_Stroke stroke = ([package.name].SVG.SVG_Element)elementList.get(0);
Log.d(this.getClass().getName(), stroke.toString());
此问题仅在某些时候出现。以下是正常运行时的日志:
06-19 11:22:43.210: D/[package.name].test.Utils(11520): 31
06-19 11:22:46.435: D/[package.name].test.Utils(11520): 41
06-19 11:22:46.435: D/[package.name].test.Utils(11520): [<g class='stroke' id='520c7ff6-1800-4f0c-a544-8be164a6eeca' transform='matrix(1.0,0.0,0.0,1.0,0.0,0.0)'><path d='M 255.40 138.30 L 259.39 143.62 L 263.38 148.94 L 267.37 154.26 L 271.36 159.57 L 275.35 164.89 L 279.34 170.21 L 283.33 175.53 L 287.32 180.85 L 291.31 186.17 L 295.30 191.49 L 299.29 196.81 L 303.29 202.13 L 307.28 207.45 L 311.27 212.77 L 315.26 218.09 L 319.25 223.40 L 323.24 228.72 L 327.23 234.04 L 331.22 239.36 L 335.21 244.68 L 339.20 250 L 343.19 255.32 L 347.18 260.64 L 351.17 265.96 L 355.16 271.28 L 359.15 276.60 L 363.14 281.91 L 367.13 287.23 L 371.13 292.55 L 375.12 297.87 L 379.11 303.19 L 383.10 308.51 L 387.09 313.83 L 391.08 319.15 L 395.07 324.47 L 399.06 329.79 L 403.05 335.11 L 407.04 340.43 L 411.03 345.74 L 415.02 351.06 L 419.01 356.38 L 423.00 361.70 L 426.99 367.02 L 430.98 372.34 L 434.97 377.66 L 438.97 382.98 L 442.96 388.30 L 446.95 393.62 L 450.94 398.94 L 454.93 404.26 L 458.92 409.57 L 462.91 414.89 L 466.90 420.21 L 470.89 425.53 L 474.88 430.85 L 478.87 436.17 L 482.86 441.49 L 486.85 446.81 L 490.84 452.13 L 494.83 457.45 L 498.82 462.77 L 502.81 468.09 L 506.81 473.40 L 510.80 478.72 L 514.79 484.04 L 518.78 489.36 L 522.77 494.68 L 526.76 500 L 530.75 505.32 L 534.74 510.64 L 538.73 515.96 L 542.72 521.28 L 546.71 526.60 L 550.70 531.91 L 554.69 537.23 L 558.68 542.55 L 562.67 547.87 L 566.66 553.19 L 570.65 558.51 L 574.65 563.83 L 578.64 569.15 L 582.63 574.47 L 586.62 579.79 L 590.61 585.11 L 594.60 590.43 L 598.59 595.74 L 602.58 601.06 L 606.57 606.38 L 610.56 611.70 L 614.55 617.02 L 618.54 622.34 L 622.53 627.66 L 626.52 632.98 L 630.51 638.30 L 634.50 643.62 L 638.49 648.94 L 642.49 654.26 L 646.48 659.57 L 650.47 664.89 ' stroke='black' stroke-width='6' fill='none' stroke-linejoin='round' stroke-linecap='round' stroke-opacity='1'/></g>]
最佳答案
我将 Robotium 更新到版本 5.2.1 后解决了此问题。我之前一直使用5.0.1版本。
关于java - Robotium:SVG/位图 NullPointerException 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24177606/
我想知道是否可以运行我用 Robotium 编写的脚本,以便在任何地方的设备云(如 Perfectomobile 或 Device)中工作。 提前致谢。 最佳答案 testdoid允许您在云中运行ro
我正在尝试使用 Robotium 验证 View 中的一些数据。 我为此编写了以下代码: NegativeExpected=false; solo.clickOnButton(0);
我正在尝试使用 Robotium 验证 View 中的一些数据。 我写了下面的代码: NegativeExpected=false; solo.clickOnButton(0);
我有一个日期选择器字段,我想在其中设置日期(月、日和年的选择器每个字段都带有 + 和 -),但不知道如何在 Robotium 中执行此操作。我尝试使用 solo.setDatePicker(int,
我正在尝试在 Android 上测试日期选择器场景。我有一个日期选择器,当我单击一个 TextView (id 为 v)时,它会出现,上面有一个标签以及提示“输入日期”。 问题是我试图模拟点击 Tex
我只是想用 Robotium 测试一个安卓应用程序。我遇到的问题是我无法重新签署应用程序以在 Eclipse 中启动测试项目。我已按照 http://code.google.com/p/robotiu
如何使Robotium单击页面中的特定链接? 最佳答案 您应该尝试单击链接中的 anchor 文本。 例如,如果链接显示www.google.com,则可以执行以下操作: this.solo.clic
我在 Robotium 中编写了一个脚本,它工作得很好,但是我们的应用程序的设计方式是它必须与无法辞职的 native android 应用程序进行交互。我必须单击 native 应用程序上的一个按钮
每次使用 Robotium 测试应用程序时,我都需要导航到测试项目属性并将其添加到项目中,每当我配置新的测试项目时,我每次都需要添加它 还有其他方法可以安装 Robotium 并在我的测试项目中使用默
我需要有关 Robotium 脚本的帮助。我的情况类似于“在我的 AUT 中,当前日期可用“2014 年 1 月 30 日”。因此我需要验证其是否为当前日期。 最佳答案 您可以将该字符串解析为日期并将
我使用 robotium 3.5.1 在我的 android 程序中创建了简单测试,代码如下: protected void setUp() throws Exception { solo =
我正在尝试在演示应用程序上运行 Robotium 测试套件,但在将测试应用程序推送到设备后,android maven 插件在 mvn install 失败,因为它找不到目标应用程序。 错误是 Tes
我正在尝试使用 Robotium 在 Linux 服务器上测试我的 Android 应用。 lt.socialheat.android.tests.SocialHeatTest: Failure in
作为一名对 java 没有任何深入了解的技术测试人员,我有一个关于 robotium 和 ActivityInstrumentationTestCase2 的问题。我已经使用 eclipse 和 ro
我正在使用适用于 Android 的 Robotuim。有谁知道如何设置具体测试用例的运行次数? 最佳答案 只需在测试用例定义上方添加以下行: @FlakyTest(tolerance=3) 你的测试
所以我上周对我的 Android 应用程序进行了更改,无意中将一些按钮绘制到了屏幕之外。 我可以在 Eclipse 中看到屏幕外的对象,并且没有抛出任何错误,但是当应用程序运行时,按钮不可见(屏幕外)
我是 Robotium 测试的新手,我想测试以下场景: 1.) 启动应用程序做一些事情。2.) 按主页按钮。(关闭应用程序)3.) 恢复应用程序并测试是否一切正常。 我的问题是如何实现第 2 步和第
我是 robotium 的新手,我正在尝试编写一个快速但粗略的脚本来运行应用程序中的所有屏幕。 我的问题主要与应用程序中的“主页按钮”有关。我已经尝试了很多选项,但我似乎无法让它点击那里,除了索引,这
我的应用程序测试类很少。如果它持续超过 4 秒,我想测试失败。我的代码破坏了测试,但在某些情况下它不执行下一个测试类。 我写的时候(跟timeout无关,只是fail()的一个例子): public
当我尝试与蓝牙设备配对时,出现带有 PIN 的系统确认对话框。有按钮“取消”和“确定”。但是我不能用 Robotium 点击它们。如何在 Robotium 中使用 Android 操作系统对话框?谢谢
我是一名优秀的程序员,十分优秀!