使用 Selenium 自动化创建多个 Salesforce 联系人

58 阅读2分钟

用户想要使用 Selenium 自动化创建多个 Salesforce 联系人,并且需要在运行脚本前从控制台中获取创建联系人的数量。

2、解决方案 可以使用以下步骤解决该问题:

  • 在脚本开头添加while循环。
  • 在循环体内,使用input()函数从控制台中获取创建联系人的数量。
  • 使用for循环创建指定数量的联系人。
  • 在循环中调用test_salesforce_login()方法创建联系人。
  • 最后,使用tearDown()方法退出浏览器。
from selenium import webdriver
import unittest
import time
from random import randint

class SalesforceLogin(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get("https://test.salesforce.com")

    def test_salesforce_login(self):
        driver = self.driver
        self.driver.find_element_by_id("username").send_keys("xxxx")
        self.driver.find_element_by_id("password").send_keys("xxxx")
        driver.find_element_by_id("Login").click()
        time.sleep(1)

        # Generate random number and assign to lastRnadom
        lastRandom = randint(2,5000)
        driver.find_element_by_link_text("Contacts").click()
        driver.find_element_by_name("new").click()
        driver.find_element_by_id("name_firstcon2").clear()
        driver.find_element_by_id("name_firstcon2").send_keys("Test")
        driver.find_element_by_id("name_lastcon2").clear()
        driver.find_element_by_id("name_lastcon2").send_keys(lastRandom)
        driver.find_element_by_id("con4").clear()
        driver.find_element_by_id("con4").send_keys("xxxx")
        driver.find_element_by_id("con15").clear()

        # Form an email address from strings and ints
        email = ("test" + "@" + str(lastRandom) + ".com")
        driver.find_element_by_id("con15").send_keys(email)
        driver.find_element_by_id("con10").clear()
        driver.find_element_by_id("con10").send_keys("012345678")
        driver.find_element_by_id("con12").clear()
        driver.find_element_by_id("con12").send_keys("0123456789")
        driver.find_element_by_id("con5").clear()
        driver.find_element_by_id("con5").send_keys("Mr")
        driver.find_element_by_id("con19street").clear()
        driver.find_element_by_id("con19street").send_keys("Made Up Mailing Street")
        driver.find_element_by_id("con19city").clear()
        driver.find_element_by_id("con19city").send_keys("Mailing City")
        driver.find_element_by_id("con19state").clear()
        driver.find_element_by_id("con19state").send_keys("Mailing State")
        driver.find_element_by_id("con19zip").clear()
        driver.find_element_by_id("con19zip").send_keys("Mailing Zip")
        driver.find_element_by_id("con19country").clear()
        driver.find_element_by_id("con19country").send_keys("Mailing Country")
        driver.find_element_by_id("con18street").clear()
        driver.find_element_by_id("con18street").send_keys("Other Street")
        driver.find_element_by_id("con18city").clear()
        driver.find_element_by_id("con18city").send_keys("Other City")
        driver.find_element_by_id("con18state").clear()
        driver.find_element_by_id("con18state").send_keys("Other State")
        driver.find_element_by_id("con18zip").clear()
        driver.find_element_by_id("con18zip").send_keys("Other Zip")
        driver.find_element_by_id("con18country").clear()
        driver.find_element_by_id("con18country").send_keys("Other Country")
        driver.find_element_by_id("con11").clear()
        driver.find_element_by_id("con11").send_keys("Fax")
        driver.find_element_by_id("con13").clear()
        driver.find_element_by_id("con13").send_keys("Home Phone")
        driver.find_element_by_id("con14").clear()
        driver.find_element_by_id("con14").send_keys("Other Phone")
        driver.find_element_by_id("con16").clear()
        driver.find_element_by_id("con16").send_keys("Assistant")
        driver.find_element_by_id("con17").clear()
        driver.find_element_by_id("con17").send_keys("Asst. Phone")
        driver.find_element_by_id("con20").click()
        driver.find_element_by_id("con20").clear()
        driver.find_element_by_id("con20").send_keys("Description")
        driver.find_element_by_name("save").click()

    def tearDown(self):
        self.driver.quit()

if __name__ == "__main__":
    # 获取创建联系人的数量
    num_contacts = int(input("Please enter the number of contacts you want to create: "))

    # 创建一个循环来创建指定数量的联系人
    for i in range(num_contacts):
        unittest.main()

运行该脚本时,它将首先提示用户输入要创建的联系人数量。然后,它将使用for循环创建指定数量的联系人。最后,它将使用tearDown()方法退出浏览器。