Mình không hiểu đoạn :" mainscreen." bị lỗi gì mà không chạy đc?
package com.experitest.auto;
import java.net.URL;
import java.text.DecimalFormat;
import java.util.Random;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Optional;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
import io.appium.java_client.remote.AndroidMobileCapabilityType;
import io.appium.java_client.remote.MobileCapabilityType;
public class AndroidDemoTest extends BaseTest {
protected AndroidDriver<AndroidElement> driver = null;
@BeforeMethod
@Parameters("deviceQuery")
public void setUp(@Optional("@os='android'") String deviceQuery) throws Exception{
init(deviceQuery);
// Init application / device capabilities
//dc.setCapability(MobileCapabilityType.APP, "cloud:com.experitest.ExperiBank/.LoginActivity");
//dc.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, "com.experitest.ExperiBank");
//dc.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, ".LoginActivity");
dc.setCapability(MobileCapabilityType.APP, "cloud:com.google.android.calculator/com.android.calculator2.Calculator");
dc.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, "com.google.android.calculator");
dc.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, "com.android.calculator2.Calculator");
dc.setCapability("appVersion", "7.5 (213680574)");
//dc.setCapability("dontGoHomeOnQuit", true);
dc.setCapability("testName", "AndroidDemoTest");
driver = new AndroidDriver<>(new URL(getProperty("url",cloudProperties) + "/wd/hub"), dc);
}
@Test
public float floatclick()
{
int n;
float a = 0, k = 100;
Random rnd = new Random();
//Nhap phan nguyen
for (int i=0; i<3; i++)
{
n = rnd.nextInt(10);
String str = "mainscreen." + Integer.toString(n); driver.findElement(in.Repo.obj(str)).click();
a = a + (n * k); k = k/10;
}
driver.findElement(in.Repo.obj("mainscreen.point")).click();
//Nhap phan thap phan
k = (float)1/10;
for (int i=0; i<3; i++)
{
n = rnd.nextInt(10);
String str = "mainscreen." + Integer.toString(n); driver.findElement(in.Repo.obj(str)).click();
a = a + (n * k);
k = k/10;
}
//Random so am duong (0 la am, 1 la duong)
n = rnd.nextInt(2);
//Kiem tra so am duong
if (n == 0)
{
driver.findElement(in.Repo.obj("mainscreen.negative")).click(); return -a;
}
else return a;
}
public float intclick()
{
int n;
int a = 0, k = 100;
Random rnd = new Random();
//Nhap so nguyen
for (int i=0; i<3; i++)
{
n = rnd.nextInt(10);
String str = "mainscreen." + Integer.toString(n); driver.findElement(in.Repo.obj(str)).click();
a = a + (n * k); k = k/10;
}
//Random so am duong
n = rnd.nextInt(2);
//Kiem tra so am duong
if (n == 0)
{
driver.findElement(in.Repo.obj("mainscreen.negative")).click(); return -a;
}
else return a;
}
public void test() {
// Enter the test code //Khai bao 2 so hang
Float a, b;
Random rnd = new Random();
Integer m, n;
Float rs, kq;
DecimalFormat df1 = new DecimalFormat();
//Khai bao cac phep toan
String math[] = {"plus","minus","multiply","divide"};
//Sinh 20 bo du lieu kiem thu ngau nhien
for (int i=0; i<20; i++)
{
driver.findElement(in.Repo.obj("mainscreen.DEG")).click(); //Random so thu nhat (0 la so nguyen, 1 la so thap phan)
n = rnd.nextInt(2);
if (n==0) a = intclick();
else a = floatclick();
//Random phep toan
rnd = new Random();
m = rnd.nextInt(4);
String mth = "mainscreen." + math[m];
driver.findElement(in.Repo.obj(mth)).click();
//Random so thu hai (0 la so nguyen, 1 la so thap phan)
rnd = new Random();
n = rnd.nextInt(2);
if (n==0) b = intclick();
else b = floatclick();
//Ket qua
driver.findElement(in.Repo.obj("mainscreen.equal")).click();
//Lay ket qua hien thi tren man hinh
String result =
driver.findElement(in.Repo.obj("mainscreen.result")).getText(); String k = "";
char res[] = result.toCharArray();
int l = result.length();
for (int j=0; j<l; j++)
if (res[j] != ',') k = k + res[j];
//kiem tra phep chia cho 0
if ((m!=3) && (b!=0))
{
kq = Float.parseFloat(k);
//Tinh toan ket qua thuc de so sanh
if (m==0) rs = a + b;
else if (m==1) rs = a - b;
else if (m==2) rs = a * b;
else rs = a / b;
//So sanh ket qua test, Pass hay Fail
if (df1.format(rs).equals(df1.format(kq)))
System.out.print("PASS ");
else System.out.print("FAIL ");
}
else
{
//So sanh ket qua test, Pass hay Fail
if (k.equals("ERROR"))
System.out.print("PASS ");
else System.out.print("FAIL ");
}
//in ra phep tinh va ket qua
System.out.print(df1.format(a));
if (m==0) System.out.print(" + ");
else if (m==1) System.out.print(" - ");
else if (m==2) System.out.print(" * ");
else System.out.print(" / ");
System.out.print(df1.format(b));
System.out.print(" = ");
System.out.print(result);
}
}
@AfterMethod
public void tearDown(){
driver.quit();
}
}
Mình tham khảo qua bản báo cáo này :
https://docs.google.com/document/d/17MtsSbNRe_h6j6uOZgvIHFD6zUf0wC92aj07qTBq6GU/edit?usp=sharing