本文整理汇总了Java中com.gargoylesoftware.htmlunit.UnexpectedPage类的典型用法代码示例。如果您正苦于以下问题:Java UnexpectedPage类的具体用法?Java UnexpectedPage怎么用?Java UnexpectedPage使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
UnexpectedPage类属于com.gargoylesoftware.htmlunit包,在下文中一共展示了UnexpectedPage类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: setTicketFieldValue
import com.gargoylesoftware.htmlunit.UnexpectedPage; //导入依赖的package包/类
private void setTicketFieldValue(final GepardTestClass tc, final String ticket, final String fieldName, final String value) throws IOException {
String jiraSetFieldPage = getIssueFieldSetValueUrl(ticket);
WebRequest requestSettings = new WebRequest(new URL(jiraSetFieldPage), HttpMethod.PUT);
requestSettings.setAdditionalHeader("Content-type", "application/json");
requestSettings.setRequestBody("{ \"fields\": {\"" + fieldName + "\": \"" + value + "\"} }");
try {
UnexpectedPage infoPage = webClient.getPage(requestSettings);
if (infoPage.getWebResponse().getStatusCode() == HTTP_RESPONSE_OK) {
tc.logComment("Field: '" + fieldName + "' of Ticket: " + ticket + " was updated to value: '" + value + "' successfully.");
} else {
throw new SimpleGepardException("Ticket: " + ticket + " field: " + fieldName + " update failed, status code: " + infoPage.getWebResponse().getStatusCode());
}
} catch (FailingHttpStatusCodeException e) {
throw new SimpleGepardException("Ticket: " + ticket + " field: " + fieldName + " update failed.", e);
}
}
示例2: collectIssues
import com.gargoylesoftware.htmlunit.UnexpectedPage; //导入依赖的package包/类
/**
* Get a Jira query result in a map form.
*
* @param query is the jira query
* @return with the map of JIRA_ID - ticketInfo in JSONObject pairs as result of a Jira query.
* @throws IOException in case of problem
* @throws JSONException in case of problem
*/
public ConcurrentHashMap<String, JSONObject> collectIssues(final String query) throws IOException, JSONException {
String jqlURL = getListOfIssuesByQueryUrl(query);
WebRequest requestSettings = new WebRequest(new URL(jqlURL), HttpMethod.GET);
requestSettings.setAdditionalHeader("Content-type", "application/json");
UnexpectedPage infoPage = webClient.getPage(requestSettings);
if (infoPage.getWebResponse().getStatusCode() == HTTP_RESPONSE_OK) {
String ticketList = infoPage.getWebResponse().getContentAsString();
JSONObject obj = new JSONObject(ticketList);
String maxResults = obj.getString("maxResults");
String total = obj.getString("total");
if (Integer.valueOf(maxResults) < Integer.valueOf(total)) {
throw new SimpleGepardException("ERROR: Too many issues belong to given query (" + total + "), please change the query to shorten the result list.");
}
JSONArray array = obj.getJSONArray("issues");
ConcurrentHashMap<String, JSONObject> map = new ConcurrentHashMap<>();
for (int i = 0; i < array.length(); i++) {
JSONObject o = (JSONObject) array.get(i);
map.put(o.getString("key"), o);
}
return map;
}
throw new SimpleGepardException("ERROR: Cannot fetch Issue list from JIRA, status code:" + infoPage.getWebResponse().getStatusCode());
}
示例3: transferTicketToStatus
import com.gargoylesoftware.htmlunit.UnexpectedPage; //导入依赖的package包/类
/**
* Transition a ticket to next status in its workflow.
* URL --> https://jira.xxxxxx.com/rest/api/2/issue/TEST-53/transitions?expand=transitions.fields
* POST data --> {"transition":{"id":91}}
* Returned HTTP response --> 204
*
* @param ticket is the specific ticket
* @param statusTransferId is the id of the transaction that should be used to transfer the ticket
* @param expectedStatusName is the name of the expected new status
* @param comment that will be attached to the ticket as comment of the transaction
* @return with the new status
*/
private String transferTicketToStatus(final GepardTestClass tc, final String ticket, final String statusTransferId, final String expectedStatusName, final String comment)
throws IOException, JSONException {
String updateString = "{ \"update\": { \"comment\": [ { \"add\": { \"body\": \"" + comment + "\" } } ] }, \"transition\": { \"id\": \"" + statusTransferId + "\" } }";
String oldStatus = detectActualStatus(ticket);
String newStatus;
String jiraSetFieldPage = getIssueSetTransitionsUrl(ticket);
WebRequest requestSettings = new WebRequest(new URL(jiraSetFieldPage), HttpMethod.POST);
requestSettings.setAdditionalHeader("Content-type", "application/json");
requestSettings.setRequestBody(updateString);
try {
UnexpectedPage infoPage = webClient.getPage(requestSettings);
if (infoPage.getWebResponse().getStatusCode() == HTTP_RESPONSE_OK) {
newStatus = detectActualStatus(ticket);
Assert.assertEquals("Transferring ticket: " + ticket + " to new status failed,", expectedStatusName, newStatus);
tc.logComment("Ticket: " + ticket + " was transferred from status: \"" + oldStatus + "\" to status: \"" + newStatus + "\" successfully.");
} else {
throw new SimpleGepardException("ERROR: Status update failed for ticket: " + ticket + ", Status code:" + infoPage.getWebResponse().getStatusCode());
}
} catch (FailingHttpStatusCodeException e) {
throw new SimpleGepardException("ERROR: Status update failed for ticket: " + ticket + ".", e);
}
return newStatus;
}
示例4: getImage
import com.gargoylesoftware.htmlunit.UnexpectedPage; //导入依赖的package包/类
public static byte[] getImage(Image image) throws Exception {
Exception ex = null;
for (int i = 0; i < NUMBER_OF_TRIES; i++) {
try (WebClient webClient = createWebClient(image.getLink())) {
webClient.addRequestHeader("Referer", image.getReferrer());
UnexpectedPage page = webClient.getPage(image.getLink());
JavaScriptJobManager manager = page.getEnclosingWindow().getJobManager();
while (manager.getJobCount() > 0) {
Thread.sleep(500);
}
return IOUtils.toByteArray(page.getWebResponse().getContentAsStream());
} catch (Exception e) {
System.err.println("Try " + (i + 1) + " of " + NUMBER_OF_TRIES
+ ". Link: " + image.getLink() + ". Error: " + e.getMessage());
ex = e;
}
}
throw ex;
}
示例5: getNotifications
import com.gargoylesoftware.htmlunit.UnexpectedPage; //导入依赖的package包/类
public List<NotificationObject> getNotifications(String ID) throws InvaildCourseException {
List<NotificationObject> list = new ArrayList<>();
try {
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_38);
webClient.setCookieManager(cookieManager);
UnexpectedPage page = webClient.getPage("https://pdsb.elearningontario.ca/d2l/MiniBar/" + ID + "/ActivityFeed/GetAlerts?Category=1&_d2l_prc%24headingLevel=2&_d2l_prc%24scope=&_d2l_prc%24hasActiveForm=false&isXhr=true&requestId=2");
NotificationFormater notificationFormater = new NotificationFormater(page.getWebResponse().getContentAsString());
webClient.close();
for (Object object: notificationFormater.getNotifications()) {
DomElement de = (DomElement) object;
String[] split = de.asText().split("\\n");
list.add(new NotificationObject(split[0].trim(), split[1].trim(), split[2].trim()));
}
} catch (Exception e) {
throw new InvaildCourseException("Invaild Course ID");
}
return list;
}
示例6: getTicketHistory
import com.gargoylesoftware.htmlunit.UnexpectedPage; //导入依赖的package包/类
private String getTicketHistory(final GepardTestClass tc, final String ticketID) throws IOException {
tc.logComment("Get JIRA history info on ticket: " + ticketID);
String jiraInfoPage = getIssueChangeLogUrl(ticketID);
UnexpectedPage infoPage = webClient.getPage(jiraInfoPage);
String ticketInfo = infoPage.getWebResponse().getContentAsString();
return ticketInfo;
}
示例7: getJiraServerInfo
import com.gargoylesoftware.htmlunit.UnexpectedPage; //导入依赖的package包/类
/**
* Gets the main Jira Server Information.
*
* @return with JSON object with Jira Server Information
* @throws IOException in case of problem
* @throws JSONException in case of problem
*/
public JSONObject getJiraServerInfo() throws IOException, JSONException {
String jiraServerInfoPage = getServerInfoUrl();
UnexpectedPage infoPage = webClient.getPage(jiraServerInfoPage);
String serverInfo = infoPage.getWebResponse().getContentAsString();
JSONObject obj = new JSONObject(serverInfo);
return obj;
}
示例8: detectWorkflow
import com.gargoylesoftware.htmlunit.UnexpectedPage; //导入依赖的package包/类
/**
* Detect the actual workflow possibilities of the ticket, from its actual status.
*
* @param ticket is the id
* @return with String representation of the list of possibilities, in form of statusTransferId;newStatusName strings
* @throws IOException in case of problem
* @throws JSONException in case of problem
*/
public String detectWorkflow(final String ticket) throws IOException, JSONException {
String jqlURL;
//first detect status
String ticketFields = getTicketFields(ticket);
JSONObject fieldObj = new JSONObject(ticketFields);
fieldObj = fieldObj.getJSONObject("fields");
fieldObj = fieldObj.getJSONObject("status");
String status = "@" + fieldObj.get("name").toString();
//then collect possible transactions
jqlURL = getIssueTransitionsUrl(ticket);
WebRequest requestSettings = new WebRequest(new URL(jqlURL), HttpMethod.GET);
requestSettings.setAdditionalHeader("Content-type", "application/json");
UnexpectedPage infoPage = webClient.getPage(requestSettings);
if (infoPage.getWebResponse().getStatusCode() == HTTP_RESPONSE_OK) {
String ticketList = infoPage.getWebResponse().getContentAsString();
JSONObject obj = new JSONObject(ticketList);
JSONArray array = obj.getJSONArray("transitions");
List<String> toList = new ArrayList<>();
toList.add(status);
for (int i = 0; i < array.length(); i++) {
JSONObject o = (JSONObject) array.get(i);
JSONObject o2 = o.getJSONObject("to");
String toPossibility = o2.get("name").toString();
String toPossibilityID = o.get("id").toString(); //it is the transition id not the status id
toList.add(toPossibilityID + ";" + toPossibility);
}
return toList.toString();
}
throw new SimpleGepardException("ERROR: Cannot fetch Issue transition possibilities from JIRA, for ticket: "
+ ticket + ", Status code:" + infoPage.getWebResponse().getStatusCode());
}
示例9: getAttachmentAtEndOfLink
import com.gargoylesoftware.htmlunit.UnexpectedPage; //导入依赖的package包/类
public static String getAttachmentAtEndOfLink(final HtmlAnchor link) throws IOException {
UnexpectedPage attachment = (UnexpectedPage) link.click();
BufferedReader in = new BufferedReader(new InputStreamReader(attachment.getInputStream()));
try {
return IOUtils.toString(in).trim();
}
finally {
in.close();
}
}
示例10: getPageSource
import com.gargoylesoftware.htmlunit.UnexpectedPage; //导入依赖的package包/类
/**
* Get source of any page type.
*/
public static String getPageSource(final Page page) {
if (page instanceof HtmlPage) {
return ((HtmlPage) page).asXml();
} else if (page instanceof JavaScriptPage) {
return ((JavaScriptPage) page).getContent();
} else if (page instanceof TextPage) {
return ((TextPage) page).getContent();
} else {
// page instanceof UnexpectedPage
return ((UnexpectedPage) page).getWebResponse().getContentAsString();
}
}
示例11: getTicketFields
import com.gargoylesoftware.htmlunit.UnexpectedPage; //导入依赖的package包/类
private String getTicketFields(String ticket) throws IOException {
String jiraInfoPage = getIssueFieldValueUrl(ticket);
UnexpectedPage infoPage = webClient.getPage(jiraInfoPage);
String ticketInfo = infoPage.getWebResponse().getContentAsString();
return ticketInfo;
}