2012-10-23 23 views
0

現在我正在測試Android 4.1.1。使用Robotium並嘗試使用該ID單擊圖像按鈕,因爲solo.clickonImagesolo.clickonImageButton不起作用。如何鏈接R.ids到實際的按鈕android測試

的事情是,我不知道如何導入或包括R.java文件以獲取ID。我可以從層次結構查看器中看到它,但是當我將變量放在代碼中時它仍然給我一個錯誤。

在我的測試腳本我R.java沒有它了,因此無法讀取的ID。

我想如何將開發者ID導入到我的測試項目中?

編輯: 其實我發現這個programmatically add id to R.id。現在我的問題是,我的程序如何知道id指向的是什麼。例如我已經創建:

<項目名稱= 「camera_menu_upload」 TYPE = 「ID」/>

如何我的腳本可以知道的是在屏幕上什麼camera_menu_upload?

回答

1

您可能導入了錯誤的R文件。檢查您的進口並確保它正在導入com.yourcompany.yourapp.R

+0

好....我不知道哪個R文件我應該導入... R是自動生成的權利?從/ res /佈局xml文件?另外,我是否導入開發人員的R文件或我自己? (測試) –

+0

使用測試應用程序的R文件的完整軟件包名稱。 – smk

+0

每個Android項目都會生成一個R文件。你的測試項目有自己的R文件。 Android庫有它自己的R文件(android.R)。導入需要使用的R文件,如果需要使用其他文件,請使用完整的軟件包結構。 –

0

我不太明白你的問題,但這是你在找什麼?

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

是的,即時通訊尋找。 –

0

退房package name in your AndroidManifest file

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

您需要從您的應用程序主包中導入R類別,例如:com.companyname.appname.R

+0

我正在看R,它是由我的xml輸出文件生成的。這是正確的嗎?現在,我的R文件有「/ * AUTO-GENERATED FILE。不要修改。」在頂部,所以它從我的/ res /文件夾中生成類並生成...此外,它目前沒有「公共靜態最終類ID」我正在採取正確的R文件?這是我發現的唯一一個....它在我的/ gen /文件夾中。 –

1

拿到按鈕,查看,TextView的,複選框...使用此示例:

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

如果您不知道ID使用Hierarchy Viewer來查看按鈕ID。

0

如果您正在使用actionbarsherlock存在,並試圖點擊一個按鈕,這是actionbarsherlock的一部分,你將不得不進口其r.java文件使用該按鈕的ID。即來自應用(gen)的r.java。
r.java文件爲不同的ID存儲不同的值,因此它會搜索要在屏幕上重新發送的值。當它發現它時,它會對其執行所需的操作。