0

Salesforce にログインし、標準データで連絡先を作成して保存する Selenium スクリプトがあります。

実行中のユーザーに、コンソールからの生の入力を使用して作成する連絡先の数を尋ね、作成されるまでスクリプトを x 回ループさせたいと思います。

これを以下のコードに追加するのが最善でしょうか? または、ターミナルでこの python ファイルを実行しているときに、コンソールでループに入りますか?

ありがとう!

注: 0 から 5000 までのランダムな int を使用して、一意の (十分に近い) 姓と電子メールを作成し、重複が発生しないようにしました。

注 2: 削除して実験を繰り返す前に、最大 10 件の連絡先のみを作成します。

コードは次のとおりです。

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__":
    unittest.main() 
4

1 に答える 1

0

ループして同時実行を使用します。残念ながら、Java でスクリプトを実行しているため、コードを提案することはできません。

また、コードに明示的な待機がないため、処理中に失敗する可能性があります。

敬具、 ミハウ・フェリジャンチュク

于 2013-11-14T16:44:31.913 に答える