Skip to content

Instantly share code, notes, and snippets.

@tdharris
Created June 9, 2015 20:00
Show Gist options
  • Save tdharris/cbc29249cefeac3dd810 to your computer and use it in GitHub Desktop.
Save tdharris/cbc29249cefeac3dd810 to your computer and use it in GitHub Desktop.
// Create a lead record
leadData = new LeadData(true);
lead = new Lead(sm, leadData);
leadData.setPhone(client.getPhoneNumber());
leadData.setMobilePhone("");
lead.add();
// Setup Agent 1 & dial client
c2c1 = new ClickToCall(sm);
c2c1
.openSettings()
.setStationPhoneNumber(agent1.getPhoneNumber())
.disconnectAgentLeg()
.save();
lead.dialFromList();
// Agent 1: Connect agent leg & connect to client
agent1.waitForIncomingCall();
client.waitForIncomingCall();
// Setup Agent 2
sm2 = new SeleniumManager();
sm2.start();
SFUtils.login(sm2, SystemProperties.getSf2_username(), SystemProperties.getSf2_password());
c2c2 = new ClickToCall(sm2);
c2c2
.openSettings()
.setStationPhoneNumber(agent2.getPhoneNumber())
.disconnectAgentLeg()
.save()
.connectToDialer();
// Agent 2: Connect agent leg & set inbound status for lead record pop
agent2.waitForIncomingCall();
c2c2.setAgentStatus("Ready for Inbound");
// Agent 2: Store the current window handles
WebDriver sm2Driver = sm2.getWebDriver();
Set<String> windowsBefore = sm2Driver.getWindowHandles();
// Agent 1: Transfer to Agent 2
c2c1
.transfer()
.hotTransfer()
.transferToEmployee()
.setEmployee(SFUtils.getCurrentEmployee(sm2).toString())
.transfer();
agent2.waitForIncomingCall();
// Agent 2: Switch to newly opened window (record pop)
Set<String> newWindows = sm2Driver.getWindowHandles();
newWindows.removeAll(windowsBefore);
sm2.getWebDriver().switchTo().window(newWindows.iterator().next());
// Expect: Agent 2 receives a lead record pop & hears transfer message prompt to accept or ignore
// Note: Unable to verify the correct message was played.
WebElement leadName = sm2Driver.findElement(By.className("pageDescription"));
String name = leadName.getText().trim();
Assert.assertTrue("The name found: " + name + " was not popped.", lead.getData().getName().equalsIgnoreCase(name));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment