在我以前的项目中,我通过活动完成了大部分工作,并根据文档使用了ActivityInstrumentationTestCase2:
http
://developer.android.com/tools/testing/activity_testing.html
我知道如何使用Activity Test Cases ; 但是当谈到Fragment时,我没有太多的想法,也没有找到与此相关的文档.那么当我有几个片段有一个或两个活动时,如何编写测试用例?任何示例代码或示例都会更有帮助.
我得到以下异常:
org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. (Original error: Soft keyboard not present, cannot hide keyboard) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 368 milliseconds
Run Code Online (Sandbox Code Playgroud)
我正在使用driver.hideKeyboard()来隐藏屏幕上打开的软输入键盘.
在隐藏键盘之前如何确保键盘处于打开状态?或任何其他解决方法?
我创建了一个10x10网格,现在想将播放器的图像放在其中一个网格方块中.这样做我想我必须使用位图?我将把我的所有代码放在下面.无论如何我尝试这样做我创建了一个游戏类,它设置并获取玩家图像的x位置.然后我创建了一个播放器类,这是我尝试添加图像的地方,使用Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.sokobanplayer1); 我一直在getResources下得到一个错误,所以我在游戏中创建了一个get资源方法,但它没有解决问题.有人可以告诉我如何做到这一点,我的代码如下.
//DRAW CLASS
public class Draw extends View {
Paint red = new Paint();
Paint green = new Paint();
int rectSide = 1000;
public Draw(Context context) {
super(context);
red.setColor(Color.RED);
green.setColor(Color.GREEN);
red.setStrokeWidth(8);
green.setStrokeWidth(8);
}
public void drawGrid(Canvas canvas) {
int width = canvas.getWidth();
int height = canvas.getHeight();
float startX = (width / 2) - (rectSide / 2);
float stopX = (width / 2) + (rectSide / 2);
float startY = (height / 2) - (rectSide / 2); …Run Code Online (Sandbox Code Playgroud) 我正在使用 Appium (java) 自动化 android 应用程序。
我搜索了很多地方,但找不到下面提到的两个驱动程序之间的确切区别。
AppiumDriver<MobileElement> driver
AndroidDriver driver
Run Code Online (Sandbox Code Playgroud)
它们之间有什么区别以及何时以及为什么使用哪个?
任何解释/链接/示例都会有所帮助
我在Android Studio中使用Android设备监视器来使用层次结构查看器.
我已经关注此链接.
其他一切都经过验证 - adb,环境变量等.我收到以下错误:
Missing forwarded port for 33002242e81572f9
[2016-10-20 12:29:20 - hierarchyviewer]Unable to get view server version from device 33002242e81572f9
[2016-10-20 12:29:20 - hierarchyviewer]Missing forwarded port for 33002242e81572f9
[2016-10-20 12:29:20 - hierarchyviewer]Unable to get view server protocol version from device 33002242e81572f9
[2016-10-20 12:29:20 - ViewServerDevice]Unable to debug device: sm_t815y-33002242e81572f9
Run Code Online (Sandbox Code Playgroud)
我搜索了解决方案,但只找到了解决方法,任何帮助apreciated.
我有一个切换按钮:
<ToggleButton
android:id="@+id/tv_pmpSwitch"
android:layout_width="0dp"
android:layout_weight="0.1"
android:layout_height="wrap_content"
android:background="@drawable/toggle_view"
android:layout_gravity="center_vertical"
android:gravity="center"
android:textOn=""
android:textOff=""
android:focusable="false"
android:focusableInTouchMode="false"
android:layout_centerVertical="true"
android:paddingTop="16dp"
android:layout_marginLeft="16dp"
/>
Run Code Online (Sandbox Code Playgroud)
我的toggle_view drawable是:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- When selected, use grey -->
<item android:drawable="@drawable/ic_list_action"
android:state_checked="true" />
<!-- When not selected, use white-->
<item android:drawable="@drawable/ic_grid_action"
android:state_checked="false"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
我不明白为什么背景中的图像被拉伸?我尝试了各种尺寸的图像.
我想实现这样的目标。
打开 Gmail 应用程序,查找特定邮件(同时滚动)并单击它。
在下面的方法中,我可以搜索特定邮件并单击它。
public void openMailWithParticularTitle(){
UiObject2 obj = Utils.getDeviceInstance().findObject(By.res("com.google.android.gm:id/recycler_list_view"));
List<UiObject2> mails = obj.findObjects(By.clazz("android.view.View"));
for(int i =0; i<mails.size();i++){
if(mails.get(i).getContentDescription()!=null && mails.get(i).getContentDescription().contains("My Mail Link")){
mails.get(i).click();
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
但它只查找可见项目,不会滚动查找子元素。
所以我环顾四周并尝试了这个,但由于某些原因这似乎也不起作用。
public void scrollMailWithParticularTitle2() throws UiObjectNotFoundException {
openApp(Const.package_gmail_app,true);
UiScrollable settingsItem = new UiScrollable(new UiSelector()
.className("android.support.v7.widget.RecyclerView"));
UiObject about = settingsItem.getChildByText(new UiSelector()
.className("android.view.View"), "My Mail Link");
about.click();
}
Run Code Online (Sandbox Code Playgroud)
任何帮助/建议将不胜感激。(我对UI测试的了解有限)
我已经为iOS编写了测试用例,我们有
XcodeCoverage
找出代码覆盖率.现在,我希望为我的android测试用例做同样的事情.有没有与Android Studio兼容的工具?
任何建议/参考链接都会有所帮助.
android ×8
appium ×2
testing ×2
unit-testing ×2
automation ×1
bitmap ×1
eclipse ×1
hierarchy ×1
image ×1
java ×1
keyboard ×1
layout ×1
performance ×1
view ×1