【问题标题】:How to link R.ids to the actual button android testing如何将 R.ids 链接到实际的按钮 android 测试
【发布时间】:2012-10-13 23:26:30
【问题描述】:

现在我正在测试Android 4.1.1。使用 Robotium 并尝试使用 id 单击图像按钮,因为 solo.clickonImagesolo.clickonImageButton 不起作用。

问题是,我不知道如何导入或包含 R.java 文件以获取 ID。我可以从层次结构查看器中看到它,但是当我将变量放在代码中时它仍然给我一个错误。

在我的测试脚本中,我的R.java 没有太多内容,因此无法读取 id。

我应该如何将开发者 ID 导入我的测试项目?

编辑: 实际上我发现了这个programmatically add id to R.id。现在我的问题是,我的程序如何知道 id 指向的内容。我创建的示例:

我的脚本如何知道屏幕上的 camera_menu_upload 是什么??

【问题讨论】:

    标签: android eclipse testing robotium


    【解决方案1】:

    您可能导入了错误的 R 文件。检查您的导入并确保它正在导入 com.yourcompany.yourapp.R

    【讨论】:

    • 好吧....我不确定我应该导入哪个 R 文件... R 是自动生成的,对吗?来自 /res/layout xml 文件?另外,我是导入开发人员的 R 文件还是我自己的? (测试)
    • 使用被测应用的R文件的完整包名。
    • 每个Android项目都会生成一个R文件。您的测试项目有自己的 R 文件。 Android 库有自己的 R 文件 (android.R)。导入你需要使用的R文件,如果需要使用其他的,使用完整的包结构。
    【解决方案2】:

    获取按钮、视图、文本视图、复选框...使用以下示例:

    Button buttonview = (Button) solo.getCurentActivity().findViewById(R.id.mybutton);
    solo.clickOnView(buttonview);
    

    如果您不知道 id,请使用 Hierarchy Viewer 查看按钮 id。

    【讨论】:

      【解决方案3】:

      查看package name in your AndroidManifest file:

      <manifest package="com.example.project" . . . >
      

      您需要从您的应用程序主包中导入R类,例如:com.companyname.appname.R

      【讨论】:

      • 我正在查看 R。它是由我的 xml 输出文件生成的。这是正确的吗?现在,我的 R 文件有“/* 自动生成的文件。不要修改。”在顶部,所以它从我的 /res/ 文件夹中获取类并生成......另外,它目前没有“公共静态最终类 id”我正在使用正确的 R 文件吗?这是我找到的唯一一个....它在我的 /gen/ 文件夹中。
      【解决方案4】:

      我不太明白你的问题,但这就是你要找的吗?

      imageButton IB = (imageButton)findViewById(R.id.blablablabla);
      

      【讨论】:

        【解决方案5】:

        如果您在那里使用 actionbarsherlock 并尝试单击一个按钮,该按钮是 actionbarsherlock 的一部分,则必须导入其 r.java 文件才能使用该按钮的 id。即来自 application(gen) 的 r.java。
        r.java 文件为不同的 id 存储不同的值,因此它会在屏幕上搜索要重新发送的值。当它找到它时,它会对其执行所需的操作。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-09-10
          • 1970-01-01
          • 2014-05-25
          • 1970-01-01
          • 2019-01-14
          • 2016-01-26
          • 1970-01-01
          相关资源
          最近更新 更多