Java 类org.openqa.selenium.NoSuchSessionException 实例源码
项目:coteafs-appium
文件:DeviceElementActions.java
/**
* @author wasiq.bhamla
* @since 26-Apr-2017 8:54:58 PM
*/
public void longPress () {
DeviceChecker.checkDeviceElementEnabled (this.element, this.name);
log.info (String.format ("Performing long press on element [%s]...", this.name));
try {
final int beforeTap = this.device.getSetting ()
.getDelayBeforeTap ();
final int afterTap = this.device.getSetting ()
.getDelayAfterTap ();
this.touch.waitAction (ofSeconds (beforeTap))
.longPress (this.element)
.waitAction (ofSeconds (afterTap))
.perform ();
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
}
项目:coteafs-appium
文件:DeviceElementActions.java
/**
* @author wasiq.bhamla
* @since 12-May-2017 10:08:55 PM
*/
public void tap () {
DeviceChecker.checkDeviceElementEnabled (this.element, this.name);
log.info (String.format ("Tapping on element [%s]...", this.name));
try {
final int beforeTap = this.device.getSetting ()
.getDelayBeforeTap ();
final int afterTap = this.device.getSetting ()
.getDelayAfterTap ();
this.touch.waitAction (ofSeconds (beforeTap))
.tap (this.element)
.waitAction (ofSeconds (afterTap))
.perform ();
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
}
项目:alimama
文件:ShuaOline.java
public static void webGet2(WebDriver webDriver, String url) {
try {
webDriver.get(url);
webGet2(webDriver, url);
} catch (Exception e) {
// e.printStackTrace();
if (e instanceof NoSuchSessionException) {
System.out.println("浏览器关闭,程序退出");
System.exit(0);
}
/*
* try { Thread.sleep(100); } catch (InterruptedException e1) {
* e1.printStackTrace(); } JavascriptExecutor js =
* (JavascriptExecutor) webDriver;
* js.executeScript("window.stop();");
* System.out.println("已停止加载页面》》》》》》》》》》》》》》》》》》》》》》》》");
*/
}
}
项目:sahagin-java
文件:WebDriverScreenCaptureAdapter.java
@Override
public byte[] captureScreen() {
if (driver == null) {
return null;
}
if (!(driver instanceof TakesScreenshot)) {
return null;
}
try {
return ((TakesScreenshot) driver)
.getScreenshotAs(OutputType.BYTES);
} catch (NoSuchSessionException e) {
// just do nothing if WebDriver instance is in invalid state
return null;
}
// TODO test should not fail when taking screen capture fails?
}
项目:sahagin-java
文件:FluentLeniumAdapter.java
@Override
public byte[] captureScreen() {
if (fluent == null) {
return null;
}
WebDriver driver = fluent.getDriver();
if (driver == null) {
return null;
}
if (!(driver instanceof TakesScreenshot)) {
return null;
}
try {
return ((TakesScreenshot) driver)
.getScreenshotAs(OutputType.BYTES);
} catch (NoSuchSessionException e) {
// just do nothing if WebDriver instance is in invalid state
return null;
}
}
项目:coteafs-appium
文件:DeviceElementActions.java
/**
* @author wasiq.bhamla
* @since Oct 21, 2017 5:22:04 PM
* @param text
*/
public void appendText (final String text) {
DeviceChecker.checkDeviceElementEnabled (this.element, this.name);
tap ();
log.info (String.format ("Appending text [%s] in element [%s]...", text, this.name));
try {
this.element.sendKeys (text);
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
}
项目:coteafs-appium
文件:DeviceElementActions.java
/**
* @author wasiq.bhamla
* @since 26-Apr-2017 8:49:52 PM
*/
public void clear () {
DeviceChecker.checkDeviceElementEnabled (this.element, this.name);
log.info (String.format ("Clearing element [%s]...", this.name));
try {
this.element.clear ();
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
}
项目:coteafs-appium
文件:DeviceElementActions.java
/**
* @author wasiq.bhamla
* @since 26-Apr-2017 8:51:07 PM
* @return enabled
*/
public boolean enabled () {
log.info (String.format ("Checking if element [%s] is enabled...", this.name));
try {
return this.element.isEnabled ();
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
return false;
}
项目:coteafs-appium
文件:DeviceElementActions.java
/**
* @author wasiq.bhamla
* @since 26-Apr-2017 8:31:45 PM
* @param text
*/
public void enterText (final String text) {
DeviceChecker.checkDeviceElementEnabled (this.element, this.name);
tap ();
clear ();
log.info (String.format ("Entering text [%s] in element [%s]...", text, this.name));
try {
this.element.sendKeys (text);
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
}
项目:coteafs-appium
文件:DeviceElementActions.java
/**
* @author wasiq.bhamla
* @since 26-Apr-2017 8:49:08 PM
*/
public void pinch () {
DeviceChecker.checkDeviceElementEnabled (this.element, this.name);
log.info (String.format ("Pinching on element [%s]...", this.name));
try {
fail (NotImplementedError.class, "Pinch! Coming Soon!!");
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
}
项目:coteafs-appium
文件:DeviceElementActions.java
/**
* @author wasiq.bhamla
* @since 26-Apr-2017 8:50:40 PM
* @return selected
*/
public boolean selected () {
log.info (String.format ("Checking if element [%s] is selected...", this.name));
try {
return this.element.isSelected ();
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
return false;
}
项目:coteafs-appium
文件:DeviceElementActions.java
/**
* @author wasiq.bhamla
* @since 06-May-2017 4:56:42 PM
*/
public void submit () {
DeviceChecker.checkDeviceElementEnabled (this.element, this.name);
log.info (String.format ("Performing submit on element [%s]...", this.name));
try {
this.element.submit ();
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
}
项目:coteafs-appium
文件:DeviceElementActions.java
/**
* @author wasiq.bhamla
* @since 12-May-2017 10:07:14 PM
* @param direction
*/
public void swipe (final SwipeDirection direction) {
DeviceChecker.checkDeviceElementEnabled (this.element, this.name);
log.info (String.format ("Swiping [%s] on element [%s]...", direction, this.name));
try {
fail (NotImplementedError.class, "Swipe! Coming Soon!!");
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
}
项目:coteafs-appium
文件:DeviceElementActions.java
/**
* @author wasiq.bhamla
* @since 26-Apr-2017 8:52:40 PM
* @return text
*/
public String text () {
log.info (String.format ("Getting text on element [%s]...", this.name));
try {
return this.element.getText ();
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
return null;
}
项目:coteafs-appium
文件:DeviceElementActions.java
/**
* @author wasiq.bhamla
* @since 26-Apr-2017 8:51:40 PM
* @return visible
*/
public boolean visible () {
log.info (String.format ("Checking if element [%s] is visible...", this.name));
try {
return this.element.isDisplayed ();
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
return false;
}
项目:coteafs-appium
文件:DeviceElementActions.java
/**
* @author wasiq.bhamla
* @since 26-Apr-2017 8:48:10 PM
*/
public void zoom () {
DeviceChecker.checkDeviceElementEnabled (this.element, this.name);
log.info (String.format ("Zooming on element [%s]...", this.name));
try {
fail (NotImplementedError.class, "Zoom! Coming Soon!!");
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
}
项目:coteafs-appium
文件:DeviceActions.java
/**
* @author wasiq.bhamla
* @since 26-Apr-2017 8:34:05 PM
*/
public void hideKeyboard () {
log.info ("Hiding the keyboard...");
try {
this.driver.hideKeyboard ();
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
}
项目:coteafs-appium
文件:DeviceActions.java
/**
* @author wasiq.bhamla
* @since 01-May-2017 8:24:34 PM
* @param path
*/
private void captureScreenshot (final String path) {
final String msg = "Capturing screenshot and saving at [%s]...";
log.info (format (msg, path));
try {
final File srcFiler = this.driver.getScreenshotAs (OutputType.FILE);
copyFile (srcFiler, path);
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
}
项目:coteafs-appium
文件:WindowsDeviceActions.java
@Override
public void hideKeyboard () {
log.info ("Hiding keyboard on device...");
try {
this.driver.hideKeyboard ();
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
}
项目:coteafs-appium
文件:AndroidDeviceActions.java
/**
* @author wasiq.bhamla
* @since 26-Apr-2017 9:09:43 PM
* @return activity
*/
public String currentActivity () {
log.info ("Getting current activity name...");
try {
return this.driver.currentActivity ();
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
return null;
}
项目:coteafs-appium
文件:AndroidDeviceActions.java
/**
* @author wasiq.bhamla
* @since 26-Apr-2017 9:11:35 PM
* @return isLocked
*/
public boolean isLocked () {
log.info ("Checking if device is locked...");
try {
return this.driver.isLocked ();
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
return false;
}
项目:coteafs-appium
文件:AndroidDeviceActions.java
/**
* @author wasiq.bhamla
* @since 26-Apr-2017 9:11:45 PM
*/
public void lock () {
log.info ("Locking the Android device...");
try {
this.driver.lockDevice ();
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
}
项目:coteafs-appium
文件:AndroidDeviceActions.java
/**
* @author wasiq.bhamla
* @since Oct 21, 2017 8:27:50 PM
*/
public void pressBack () {
log.info ("Pressing Back button on Android device...");
try {
this.driver.pressKeyCode (AndroidKeyCode.BACK);
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
}
项目:coteafs-appium
文件:AndroidDeviceActions.java
/**
* @author wasiq.bhamla
* @since 26-Apr-2017 9:11:52 PM
*/
public void unlock () {
log.info ("Unlocking the Android device...");
try {
this.driver.unlockDevice ();
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
}
项目:coteafs-appium
文件:IOSDeviceActions.java
/**
* @author wasiq.bhamla
* @since 08-May-2017 3:21:20 PM
* @param strategy
* @param keyName
*/
public void hideKeyboard (final String strategy, final String keyName) {
final String msg = "Hiding keyboard on device using %s strategy for key %s...";
log.info (String.format (msg, strategy, keyName));
try {
this.driver.hideKeyboard (strategy, keyName);
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
}
项目:coteafs-appium
文件:IOSDeviceActions.java
/**
* @author wasiq.bhamla
* @since 26-Apr-2017 11:37:04 PM
*/
public void shake () {
log.info ("Shaking the device...");
try {
this.driver.shake ();
}
catch (final NoSuchSessionException e) {
fail (AppiumServerStoppedError.class, SERVER_STOPPED, e);
}
}
项目:alimama
文件:ShuaOline.java
public static void webGet(WebDriver webDriver, String url) {
/*try{
String title = webDriver.getTitle();
}catch(Exception e){
System.out.println("浏览器关闭,程序退出");
System.exit(0);
}*/
try {
webDriver.get(url);
} catch (Exception e) {
// e.printStackTrace();
if (e instanceof NoSuchSessionException) {
System.out.println("浏览器关闭,程序退出");
System.exit(0);
}
String msg = e.getMessage();
if(msg.contains("chrome not reachable")){
System.out.println("浏览器关闭,程序退出");
System.exit(0);
}
/*
* try { Thread.sleep(100); } catch (InterruptedException e1) {
* e1.printStackTrace(); } JavascriptExecutor js =
* (JavascriptExecutor) webDriver;
* js.executeScript("window.stop();");
* System.out.println("已停止加载页面》》》》》》》》》》》》》》》》》》》》》》》》");
*/
}
}
项目:darcy-webdriver
文件:WebDriverBrowser.java
/**
* Wrapper for interacting with a targeted driver that may or may not actually be present.
*/
private void attempt(Runnable action) {
try {
action.run();
} catch (NoSuchFrameException | NoSuchWindowException | NoSuchSessionException e) {
throw new FindableNotPresentException(this, e);
}
}
项目:darcy-webdriver
文件:WebDriverBrowser.java
/**
* Wrapper for interacting with a targeted driver that may or may not actually be present.
* Returns a result.
*/
private <T> T attemptAndGet(Supplier<T> action) {
try {
return action.get();
} catch (NoSuchFrameException | NoSuchWindowException | NoSuchSessionException e) {
throw new FindableNotPresentException(this, e);
}
}
项目:SWET
文件:SimpleToolBarEx.java
private Map<String, String> addElementLocatorInformation() {
Map<String, String> elementData = new HashMap<>();
Boolean waitingForData = true;
Boolean browserRunaway = false;
String name = null;
while (waitingForData) {
String payload = null;
try {
payload = utils.getPayload();
} catch (NoSuchSessionException e) {
waitingForData = false;
break;
}
if (!payload.isEmpty()) {
if (payload.contains((CharSequence) "ElementCodeName")) {
// objects cannot suicide
elementData = new HashMap<>();
name = utils.readVisualSearchResult(payload,
Optional.of(elementData));
logger.debug("Processing payload...");
if (name == null || name.isEmpty()) {
logger.info("Rejected unfinished visual search.");
} else {
logger.info(
String.format("Received element data for the element: '%s'\n%s",
name, payload));
elementData.put("ElementPageURL", utils.getCurrentUrl());
waitingForData = false;
break;
}
}
}
if (browserStatus.get("runaway")) {
logger.info("Detected URL change");
browserRunaway = true;
waitingForData = false;
}
if (waitingForData) {
try {
// TODO: add the alternative code to
// bail if waited long enough already
logger.info("Waiting.");
Thread.sleep(1000);
} catch (InterruptedException exception) {
}
}
}
// clear results on the page
utils.flushVisualSearchResult();
if (!browserRunaway) {
utils.closeVisualSearch();
}
return elementData;
}