Android Studio-缺少androidTest文件夹

时间:2018-11-12 13:03:33

标签: android-espresso android-testing android-instrumentation

我正在使用Espresso进行自动化测试。

缺少可以编写Instrumentation测试类的文件夹

Screenshot of the project

我尝试添加

On Error Resume Next

Dim ADSysInfo, objComputer, lobjDate, laccountExpiresDate, WSHShell
Set WSHShell = CreateObject("WScript.Shell")

Set ADSysInfo = CreateObject("ADSystemInfo")
Set objComputer = GetObject("LDAP://" & ADSysInfo.ComputerName)
msgbox objComputer
Set lobjDate = objComputer.get("lastLogon")         '   <----- Working ----->
'   Set lobjDate = objComputer.get("accountExpires")    ' <----- Not Working ----->
msgbox err.number
if IsNull(lobjDate) then
    msgbox "No Date"
else
    laccountExpiresDate = Integer8Date(lobjDate, getLocaltimeZoneBias)
    msgbox laccountExpiresDate
end if

Function Integer8Date(objDate, lngBias)
' Function to convert Integer8 (64-bit) value to a date, adjusted for
' local time zone bias.
  Dim lngAdjust, lngDate, lngHigh, lngLow
  lngAdjust = lngBias
  lngHigh = objDate.HighPart
  lngLow = objdate.LowPart
' Account for bug in IADslargeInteger property methods.
  If lngLow < 0 Then
    lngHigh = lngHigh + 1
  End If
  If (lngHigh = 0) And (lngLow = 0) Then
    lngAdjust = 0
  End If
  lngDate = #1/1/1601# + (((lngHigh * (2 ^ 32)) + lngLow) / 600000000 - lngAdjust) / 1440
  Integer8Date = CDate(lngDate)
End Function  

' Obtain local time zone bias from machine registry.
Function getLocaltimeZoneBias  
  Dim lngBiasKey, lngBias

  lngBiasKey = WSHShell.RegRead("HKLM\System\CurrentControlSet\Control\TimeZoneInformation\ActiveTimeBias")
  If UCase(TypeName(lngBiasKey)) = "LONG" Then
    lngBias = lngBiasKey
  ElseIf UCase(TypeName(lngBiasKey)) = "VARIANT()" Then
    lngBias = 0
    For k = 0 To UBound(lngBiasKey)
      lngBias = lngBias + (lngBiasKey(k) * 256^k)
    Next
  End If
  getLocaltimeZoneBias = lngBias
End Function 'getLocaltimeZoneBias   

build.gradle 内部,但无效。

尝试使用this问题中提供的其他解决方案生成的方法仍然无效

3 个答案:

答案 0 :(得分:1)

最快的方法是自动生成文件夹并记录浓缩咖啡测试。在Android Studio的顶部菜单栏上,单击“运行”,然后单击->“记录Espresso测试”。

Run the espresso test recoder

这将启动您的模拟器并打开记录器对话框。然后,只需在模拟器上执行一些操作,然后在记录器对话框中单击“确定”即可。 Android Studio将生成测试以及丢失的文件夹。基本上,您将具有一个模板测试设置,供您根据需要开始编辑。

Click OK on recoder dialog

答案 1 :(得分:0)

复制并粘贴现有的测试文件夹,在对我有用的文件系统中将其重命名为“ androidTest”。

因为我的项目最近被转移到了新的存储库,所以文件夹被删除了。

答案 2 :(得分:0)

  1. 像创建其他文件夹一样创建您的androidTest文件夹。将其放在app / src下。您可以根据需要在Android Studio外部创建该文件夹。

  2. 在您的build.gradle文件中放置正确的依赖项。像这样:

    testImplementation 'junit:junit:4.12'
    testImplementation 'androidx.arch.core:core-testing:2.0.1'
    
    androidTestImplementation 'androidx.test:rules:1.1.1'
    androidTestImplementation 'androidx.test:runner:1.1.2-alpha02'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0-alpha02'
    androidTestImplementation 'androidx.test.ext:junit:1.1.0'
    androidTestImplementation 'androidx.test.espresso:espresso-intents:3.1.1'
    
  3. 将testInstrumentationRunner设置放入build.gradle文件中:

    android {
       defaultConfig {
          testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
       }
    }
    
  4. 在您将要保存在app / src / androidTest / [此处的名称空间]下的测试类中,将类似于以下内容:

    import android.content.Context;
    import android.support.test.InstrumentationRegistry;
    import android.support.test.runner.AndroidJUnit4;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    
    import static org.junit.Assert.assertEquals;
    
    @RunWith(AndroidJUnit4.class)
    public class PrincipalTest {
    
        @Test
        public void testAppContext() {
            Context context = InstrumentationRegistry.getTargetContext();
            assertEquals("my.package.name", context.getPackageName());
        }
    
    }