Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package com.testsigma.addons.mobile_web;

import com.testsigma.sdk.ApplicationType;
import com.testsigma.sdk.FindImageResponse;
import com.testsigma.sdk.Result;
import com.testsigma.sdk.WebAction;
import com.testsigma.sdk.annotation.Action;
import com.testsigma.sdk.annotation.OCR;
import com.testsigma.sdk.annotation.TestData;
import com.testsigma.sdk.annotation.TestStepResult;
import lombok.Data;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.interactions.Actions;
import io.appium.java_client.PerformsTouchActions;
import io.appium.java_client.TouchAction;
import io.appium.java_client.touch.offset.PointOption;

import java.io.File;

@Data
@Action(actionText = "Click on image-url",
description = "Click on give image",
applicationType = ApplicationType.MOBILE_WEB)
public class ClickOnImage extends com.testsigma.addons.web.ClickOnImage {
@TestData(reference = "image-url")
private com.testsigma.sdk.TestData testData1;

@OCR
private com.testsigma.sdk.OCR ocr;

@TestStepResult
private com.testsigma.sdk.TestStepResult testStepResult;

@Override
protected Result execute() throws NoSuchElementException {
TakesScreenshot scrShot =((TakesScreenshot)this.driver);
File baseImageFile=scrShot.getScreenshotAs(OutputType.FILE);
String url = testStepResult.getScreenshotUrl();
ocr.uploadFile(url, baseImageFile);
FindImageResponse response = ocr.findImage(testData1.getValue().toString());
int x1 = response.getX1();
int x2 = response.getX2();
int y1 = response.getY1();
int y2 = response.getY2();
Double clickLocationX = (double) ((x1 + x2) / 2);
Double clickLocationY = (double) ((y1 + y2) / 2);

final TouchAction action = new TouchAction((PerformsTouchActions) driver);
action.tap(PointOption.point(clickLocationX.intValue(), clickLocationY.intValue())).perform();
setSuccessMessage("Image Found :" + response.getIsFound() +
" Image coordinates :" + "x1-" + x1 + ", x2-" + x2 + ", y1-" + y1 + ", y2-" + y2);
return Result.SUCCESS;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package com.testsigma.addons.mobile_web;

import com.testsigma.sdk.ApplicationType;
import com.testsigma.sdk.FindImageResponse;
import com.testsigma.sdk.Result;
import com.testsigma.sdk.WebAction;
import com.testsigma.sdk.annotation.Action;
import com.testsigma.sdk.annotation.OCR;
import com.testsigma.sdk.annotation.TestData;
import com.testsigma.sdk.annotation.TestStepResult;
import lombok.Data;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.interactions.Actions;
import io.appium.java_client.PerformsTouchActions;
import io.appium.java_client.TouchAction;
import io.appium.java_client.touch.offset.PointOption;

import java.io.File;

@Data
@Action(actionText = "Click on image with threshold",
description = "Click on given image with threshold",
applicationType = ApplicationType.MOBILE_WEB)
public class ClickOnImageWithThreshold extends com.testsigma.addons.web.ClickOnImageWithThreshold {
@TestData(reference = "image")
private com.testsigma.sdk.TestData testData1;
@TestData(reference = "threshold")
private com.testsigma.sdk.TestData testData2;


@OCR
private com.testsigma.sdk.OCR ocr;

@TestStepResult
private com.testsigma.sdk.TestStepResult testStepResult;

@Override
protected Result execute() throws NoSuchElementException {
TakesScreenshot scrShot =((TakesScreenshot)this.driver);
File baseImageFile=scrShot.getScreenshotAs(OutputType.FILE);
String url = testStepResult.getScreenshotUrl();
ocr.uploadFile(url, baseImageFile);
FindImageResponse response = ocr.findImage(testData1.getValue().toString(), Float.valueOf(testData2.getValue().toString()));
int x1 = response.getX1();
int x2 = response.getX2();
int y1 = response.getY1();
int y2 = response.getY2();
Double clickLocationX = (double) ((x1 + x2) / 2);
Double clickLocationY = (double) ((y1 + y2) / 2);

final TouchAction action = new TouchAction((PerformsTouchActions) driver);
action.tap(PointOption.point(clickLocationX.intValue(), clickLocationY.intValue())).perform();
setSuccessMessage("Image Found :" + response.getIsFound() +
" Image coordinates :" + "x1-" + x1 + ", x2-" + x2 + ", y1-" + y1 + ", y2-" + y2);
return Result.SUCCESS;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package com.testsigma.addons.mobile_web;

import com.testsigma.sdk.ApplicationType;
import com.testsigma.sdk.FindImageResponse;
import com.testsigma.sdk.Result;
import com.testsigma.sdk.WebAction;
import com.testsigma.sdk.annotation.Action;
import com.testsigma.sdk.annotation.OCR;
import com.testsigma.sdk.annotation.TestData;
import com.testsigma.sdk.annotation.TestStepResult;

import lombok.Data;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;

import java.io.*;

@Data
@Action(actionText = "Verify if image present in current-page",
description = "Verify if the given image is present in current page",
applicationType = ApplicationType.MOBILE_WEB)
public class SearchImage extends com.testsigma.addons.web.SearchImage {
@TestData(reference = "image")
private com.testsigma.sdk.TestData testData1;

@OCR
private com.testsigma.sdk.OCR ocr;

@TestStepResult
private com.testsigma.sdk.TestStepResult testStepResult;

@Override
protected Result execute() throws NoSuchElementException {
super.setTestData1(testData1);
super.setOcr(ocr);
super.setTestStepResult(testStepResult);
return super.execute();
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package com.testsigma.addons.mobile_web;

import com.testsigma.sdk.ApplicationType;
import com.testsigma.sdk.FindImageResponse;
import com.testsigma.sdk.Result;
import com.testsigma.sdk.WebAction;
import com.testsigma.sdk.annotation.Action;
import com.testsigma.sdk.annotation.OCR;
import com.testsigma.sdk.annotation.TestData;
import com.testsigma.sdk.annotation.TestStepResult;
import lombok.Data;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;

import java.io.File;

@Data
@Action(actionText = "Verify if image present in current-page with threshold and scale",
description = "Verfy if the given image with threshold and scale is present in the current page",
applicationType = ApplicationType.MOBILE_WEB)
public class SearchImageWithScale extends com.testsigma.addons.web.SearchImageWithScale {
@TestData(reference = "image")
private com.testsigma.sdk.TestData testData1;
@TestData(reference = "threshold")
private com.testsigma.sdk.TestData testData2;
@TestData(reference = "scale")
private com.testsigma.sdk.TestData testData3;

@OCR
private com.testsigma.sdk.OCR ocr;

@TestStepResult
private com.testsigma.sdk.TestStepResult testStepResult;

@Override
protected Result execute() throws NoSuchElementException {
super.setTestData1(testData1);
super.setTestData2(testData2);
super.setTestData3(testData3);
super.setOcr(ocr);
super.setTestStepResult(testStepResult);
return super.execute();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package com.testsigma.addons.mobile_web;

import com.testsigma.sdk.ApplicationType;
import com.testsigma.sdk.FindImageResponse;
import com.testsigma.sdk.Result;
import com.testsigma.sdk.WebAction;
import com.testsigma.sdk.annotation.Action;
import com.testsigma.sdk.annotation.OCR;
import com.testsigma.sdk.annotation.TestData;
import com.testsigma.sdk.annotation.TestStepResult;
import lombok.Data;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;

import java.io.File;

@Data
@Action(actionText = "Verify if image present in current-page with threshold",
description = "Verify if the give image with threshold is present in current page",
applicationType = ApplicationType.MOBILE_WEB)
public class SearchImageWithThreshold extends com.testsigma.addons.web.SearchImageWithThreshold {
@TestData(reference = "image")
private com.testsigma.sdk.TestData testData1;
@TestData(reference = "threshold")
private com.testsigma.sdk.TestData testData2;


@OCR
private com.testsigma.sdk.OCR ocr;

@TestStepResult
private com.testsigma.sdk.TestStepResult testStepResult;

@Override
protected Result execute() throws NoSuchElementException {
super.setTestData1(testData1);
super.setTestData2(testData2);
super.setOcr(ocr);
super.setTestStepResult(testStepResult);
return super.execute();
}
}