ਐਪਿਅਮ ਨਾਲ ਤੱਤ ਲੱਭਣਾ
ਐਪਿਅਮ ਵਿੱਚ ਇੱਕ ਈਮੇਲ ਇਨਪੁਟ ਖੇਤਰ ਲਈ ਸਹੀ XPath ਲੱਭਣਾ ਮੁਸ਼ਕਲ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਆਮ ਸੁਝਾਅ ਉਮੀਦ ਅਨੁਸਾਰ ਕੰਮ ਨਹੀਂ ਕਰਦੇ। ਇਹ ਸਥਿਤੀ ਵੱਖ-ਵੱਖ ਕਾਰਕਾਂ ਦੇ ਕਾਰਨ ਹੋ ਸਕਦੀ ਹੈ ਜਿਵੇਂ ਕਿ ਐਪਲੀਕੇਸ਼ਨ ਦੇ UI ਵਿੱਚ ਤਬਦੀਲੀਆਂ ਜਾਂ UI ਲੜੀ ਵਿੱਚ ਅੰਤਰ। ਕੁਸ਼ਲ ਆਟੋਮੇਸ਼ਨ ਟੈਸਟਿੰਗ ਲਈ ਤੱਤ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਲੱਭਣਾ ਸਮਝਣਾ ਮਹੱਤਵਪੂਰਨ ਹੈ।
ਐਪਿਅਮ ਇੰਸਪੈਕਟਰ ਵਰਗੇ ਟੂਲਸ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਸਹੀ XPath ਦੀ ਪਛਾਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ, ਪਰ ਕਈ ਵਾਰ ਇਹ ਸਾਧਨ ਲੋੜੀਂਦੇ ਨਤੀਜੇ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰ ਸਕਦੇ ਹਨ। ਇਹ UI ਤੱਤਾਂ ਦੀਆਂ ਗਤੀਸ਼ੀਲ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਜਾਂ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਅੱਪਡੇਟ ਦੇ ਕਾਰਨ ਹੋ ਸਕਦਾ ਹੈ ਜੋ DOM ਢਾਂਚੇ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦੇ ਹਨ। ਅਜਿਹੇ ਮਾਮਲਿਆਂ ਵਿੱਚ, ਸਫਲਤਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਵਿਕਲਪਕ ਰਣਨੀਤੀਆਂ ਅਤੇ XPath ਸੰਟੈਕਸ ਦੀ ਡੂੰਘੀ ਸਮਝ ਜ਼ਰੂਰੀ ਹੋ ਸਕਦੀ ਹੈ।
| ਹੁਕਮ | ਵਰਣਨ |
|---|---|
| webdriver.Remote() | ਐਪਿਅਮ ਸਰਵਰ ਦੇ ਨਾਲ ਇੱਕ ਨਵਾਂ ਸੈਸ਼ਨ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ, ਮੋਬਾਈਲ ਡਿਵਾਈਸ ਅਤੇ ਐਪ ਲਈ ਲੋੜੀਂਦੀਆਂ ਸਮਰੱਥਾਵਾਂ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ। |
| EC.presence_of_element_located() | DOM 'ਤੇ ਕਿਸੇ ਤੱਤ ਦੇ ਮੌਜੂਦ ਹੋਣ ਦੀ ਉਡੀਕ ਕਰਨ ਲਈ WebDriverWait ਨਾਲ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਜ਼ਰੂਰੀ ਤੌਰ 'ਤੇ ਦਿਖਾਈ ਨਹੀਂ ਦਿੰਦਾ। |
| wdio.remote() | Appium ਲਈ WebDriver ਦੇ ਨਾਲ ਇੱਕ ਰਿਮੋਟ ਸੈਸ਼ਨ ਬਣਾਉਂਦਾ ਹੈ, Node.js ਵਾਤਾਵਰਣ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। |
| client.$() | client.findElement() ਲਈ ਛੋਟਾ, ਇਹ ਕਮਾਂਡ ਇੱਕ ਚੋਣਕਾਰ ਰਣਨੀਤੀ, ਜਿਵੇਂ ਕਿ XPath ਜਾਂ CSS ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਤੱਤ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। |
| await client.pause() | ਐਪ ਜਾਂ ਐਲੀਮੈਂਟਸ ਨੂੰ ਲੋਡ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹੋਏ, ਮਿਲੀਸਕਿੰਟ ਦੀ ਇੱਕ ਨਿਰਧਾਰਤ ਮਾਤਰਾ ਲਈ ਟੈਸਟ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਵਿੱਚ ਦੇਰੀ ਕਰਦਾ ਹੈ। |
| client.deleteSession() | ਵੈਬਡ੍ਰਾਈਵਰ ਸਰਵਰ ਨਾਲ ਸੈਸ਼ਨ ਨੂੰ ਖਤਮ ਕਰਦਾ ਹੈ, ਡਿਵਾਈਸ 'ਤੇ ਐਪ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਬੰਦ ਕਰਦਾ ਹੈ। |
ਐਪਿਅਮ ਆਟੋਮੇਸ਼ਨ ਸਕ੍ਰਿਪਟਾਂ ਦੀ ਵਿਆਖਿਆ
ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਗਈਆਂ ਸਕ੍ਰਿਪਟਾਂ ਐਪਿਅਮ ਨੂੰ ਸਵੈਚਲਿਤ ਕਾਰਜਾਂ ਦੁਆਰਾ ਮੋਬਾਈਲ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਲਈ ਵਰਤਦੀਆਂ ਹਨ, ਖਾਸ ਤੌਰ 'ਤੇ XPath ਦੁਆਰਾ UI ਤੱਤਾਂ ਨੂੰ ਲੱਭਣ ਦਾ ਉਦੇਸ਼ ਹੈ। ਦ ਕਮਾਂਡ ਇੱਕ ਨਵਾਂ ਸੈਸ਼ਨ ਸ਼ੁਰੂ ਕਰਦੀ ਹੈ, ਜੋ ਕਿ ਐਪਿਅਮ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਕਿਸੇ ਵੀ ਆਟੋਮੇਸ਼ਨ ਪ੍ਰਕਿਰਿਆ ਲਈ ਜ਼ਰੂਰੀ ਹੈ। ਇਹ ਲੋੜੀਂਦੀਆਂ ਸਮਰੱਥਾਵਾਂ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਮੋਬਾਈਲ ਪਲੇਟਫਾਰਮ, ਡਿਵਾਈਸ ਅਤੇ ਟੈਸਟ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਐਪਲੀਕੇਸ਼ਨ ਬਾਰੇ ਵੇਰਵੇ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ। ਇਹ ਸੈੱਟਅੱਪ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਐਪਿਅਮ ਸਰਵਰ ਜਾਣਦਾ ਹੈ ਕਿ ਇਹ ਕਿਸ ਵਾਤਾਵਰਣ ਵਿੱਚ ਆਟੋਮੈਟਿਕ ਹੋਵੇਗਾ।
ਇੱਕ ਵਾਰ ਸੈਸ਼ਨ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਕਮਾਂਡਾਂ ਜਿਵੇਂ ਕਿ ਦੇ ਨਾਲ ਜੋੜ ਕੇ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਸਕ੍ਰਿਪਟ ਉਦੋਂ ਤੱਕ ਰੁਕ ਜਾਂਦੀ ਹੈ ਜਦੋਂ ਤੱਕ DOM ਵਿੱਚ ਕੋਈ ਖਾਸ ਤੱਤ ਮੌਜੂਦ ਨਹੀਂ ਹੁੰਦਾ। ਇਹ ਖਾਸ ਤੌਰ 'ਤੇ ਉਹਨਾਂ ਸਥਿਤੀਆਂ ਲਈ ਲਾਭਦਾਇਕ ਹੈ ਜਿੱਥੇ UI ਨੂੰ ਲੋਡ ਹੋਣ ਵਿੱਚ ਕੁਝ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਇੱਕ ਤੱਤ ਨਾਲ ਬਹੁਤ ਜਲਦੀ ਇੰਟਰੈਕਟ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਕੇ ਆਟੋਮੇਸ਼ਨ ਅਸਫਲ ਨਹੀਂ ਹੁੰਦੀ ਹੈ। ਦੀ ਵਰਤੋਂ JavaScript ਉਦਾਹਰਨ ਵਿੱਚ ਤੱਤ ਲੱਭਣ ਲਈ ਇੱਕ ਸ਼ਾਰਟਹੈਂਡ ਹੈ, ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਐਪਿਅਮ ਕਾਰਵਾਈਆਂ ਕਰਨ ਜਾਂ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਐਪ ਨਾਲ ਕਿਵੇਂ ਇੰਟਰੈਕਟ ਕਰ ਸਕਦਾ ਹੈ।
ਐਪਿਅਮ ਵਿੱਚ XPath ਚੋਣ ਮੁੱਦਿਆਂ ਨੂੰ ਹੱਲ ਕਰਨਾ
ਡਾਇਨਾਮਿਕ XPath ਮੁਲਾਂਕਣ ਲਈ ਪਾਈਥਨ ਸਕ੍ਰਿਪਟ
from appium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECimport timedef get_driver():desired_caps = {'platformName': 'Android', 'deviceName': 'YourDeviceName', 'app': 'path/to/your/app.apk'}driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)return driverdef find_email_xpath(driver):wait = WebDriverWait(driver, 30)try:email_field = wait.until(EC.presence_of_element_located((By.XPATH, "//android.widget.EditText[@content-desc='email']")))return email_fieldexcept:return Noneif __name__ == "__main__":driver = get_driver()time.sleep(5) # Adjust timing based on app load timeemail_input = find_email_xpath(driver)if email_input:print("Email input found")else:print("Email input not found")driver.quit()
ਐਪਿਅਮ ਇੰਸਪੈਕਟਰ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਵਿਕਲਪਕ ਹੱਲ
ਕਸਟਮ XPath ਖੋਜ ਲਈ JavaScript ਅਤੇ ਐਪਿਅਮ ਸਕ੍ਰਿਪਟ
const wdio = require('webdriverio');const opts = {path: '/wd/hub',port: 4723,capabilities: {platformName: 'Android',deviceName: 'Android Emulator',app: '/path/to/your/application.apk',automationName: 'UiAutomator2'}};async function main() {const client = await wdio.remote(opts);await client.pause(5000); // Wait for app to loadconst email = await client.$("//android.widget.EditText[@hint='Enter email']");if (await email.isExisting()) {console.log('Email input field is found using hint.');} else {console.log('Email input field not found, checking alternatives.');const alternativeXpath = await client.$("//android.widget.EditText[contains(@resource-id,'email')]");if (await alternativeXpath.isExisting()) {console.log('Found with alternative resource-id.');} else {console.log('No email input field found. Consider revising XPath or UI inspector.');}}await client.deleteSession();}main().catch(console.error);
ਐਪਿਅਮ ਲਈ ਐਡਵਾਂਸਡ XPath ਰਣਨੀਤੀਆਂ
ਗੁੰਝਲਦਾਰ ਮੋਬਾਈਲ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨਾਲ ਨਜਿੱਠਣ ਵੇਲੇ, ਸਫਲ ਆਟੋਮੇਸ਼ਨ ਲਈ ਸਥਿਰ ਅਤੇ ਪ੍ਰਭਾਵਸ਼ਾਲੀ XPaths ਲੱਭਣਾ ਜ਼ਰੂਰੀ ਹੈ। ਇਕ ਮਹੱਤਵਪੂਰਨ ਪਹਿਲੂ ਹੈ XPath ਧੁਰੇ ਅਤੇ ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਉਹਨਾਂ ਤੱਤਾਂ ਨੂੰ ਲੱਭਣ ਲਈ ਜੋ 'id' ਜਾਂ 'ਕਲਾਸ' ਵਰਗੇ ਸਿੱਧੇ ਗੁਣਾਂ ਰਾਹੀਂ ਆਸਾਨੀ ਨਾਲ ਪਹੁੰਚਯੋਗ ਨਹੀਂ ਹਨ। ਇਹ ਫੰਕਸ਼ਨ ਟੈਸਟਰਾਂ ਨੂੰ ਤੱਤ ਸਬੰਧਾਂ ਦੇ ਆਧਾਰ 'ਤੇ DOM 'ਤੇ ਨੈਵੀਗੇਟ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ, ਜੋ ਕਿ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਗਤੀਸ਼ੀਲ ਵਾਤਾਵਰਣਾਂ ਵਿੱਚ ਲਾਭਦਾਇਕ ਹੁੰਦਾ ਹੈ ਜਿੱਥੇ ਉਪਯੋਗਕਰਤਾ ਦੇ ਆਪਸੀ ਤਾਲਮੇਲ ਜਾਂ ਹੋਰ ਇਨ-ਐਪ ਗਤੀਵਿਧੀਆਂ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਤੱਤਾਂ ਦੇ ਗੁਣ ਬਦਲ ਸਕਦੇ ਹਨ।
ਇੱਕ ਹੋਰ ਮਹੱਤਵਪੂਰਨ ਰਣਨੀਤੀ ਟੈਕਸਟ ਸਮੱਗਰੀ ਦੁਆਰਾ ਤੱਤਾਂ ਨੂੰ ਲੱਭਣ ਲਈ XPath ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਹੈ, ਜੋ ਕਿ ਉਪਯੋਗੀ ਹੈ ਜਦੋਂ ਹੋਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਘਾਟ ਹੁੰਦੀ ਹੈ। ਇਹ ਵਰਤ ਕੇ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ XPath ਸਮੀਕਰਨ ਵਿੱਚ ਫੰਕਸ਼ਨ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਇਹ ਸਮਝਣਾ ਕਿ ਵਾਈਲਡਕਾਰਡਸ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ ਅਤੇ () ਫੰਕਸ਼ਨ ਲੋਕੇਟਰ ਰਣਨੀਤੀਆਂ ਦੀ ਲਚਕਤਾ ਅਤੇ ਮਜ਼ਬੂਤੀ ਨੂੰ ਵਧਾ ਸਕਦੇ ਹਨ, ਜਿਸ ਨਾਲ ਆਟੋਮੇਸ਼ਨ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਐਪ ਦੇ UI ਵਿੱਚ ਤਬਦੀਲੀਆਂ ਲਈ ਵਧੇਰੇ ਅਨੁਕੂਲ ਹੋਣ ਦੀ ਆਗਿਆ ਮਿਲਦੀ ਹੈ।
- XPath ਕੀ ਹੈ?
- XPath ਇੱਕ ਭਾਸ਼ਾ ਹੈ ਜੋ ਇੱਕ XML ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਤੱਤਾਂ ਅਤੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੁਆਰਾ ਨੈਵੀਗੇਟ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ।
- ਐਪਿਅਮ ਵਿੱਚ XPath ਦੀ ਵਰਤੋਂ ਕਿਉਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ?
- ਐਪਿਅਮ ਵਿੱਚ, XPath ਦੀ ਵਰਤੋਂ ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਾਂਗ ਮੋਬਾਈਲ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਖਾਸ ਤੱਤਾਂ ਨੂੰ ਲੱਭਣ ਅਤੇ ਉਹਨਾਂ ਨਾਲ ਗੱਲਬਾਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
- ਮੈਂ ਐਪਿਅਮ ਵਿੱਚ ਆਪਣੀਆਂ XPath ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਤੇਜ਼ ਕਿਵੇਂ ਬਣਾ ਸਕਦਾ ਹਾਂ?
- ਡੂੰਘੇ ਟ੍ਰੀ ਟ੍ਰੈਵਰਸਲ ਤੋਂ ਪਰਹੇਜ਼ ਕਰਕੇ ਅਤੇ ਖਾਸ ਗੁਣਾਂ ਜਿਵੇਂ ਕਿ ਵਿਸ਼ੇਸ਼ ਗੁਣਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ XPath ਸਮੀਕਰਨ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਓ ਜਾਂ ਜਿੱਥੇ ਵੀ ਸੰਭਵ ਹੋਵੇ।
- ਐਪਿਅਮ ਵਿੱਚ XPath ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀਆਂ ਸੀਮਾਵਾਂ ਕੀ ਹਨ?
- XPath ਪੁੱਛਗਿੱਛਾਂ ਹੋਰ ਲੋਕੇਟਰ ਰਣਨੀਤੀਆਂ ਦੇ ਮੁਕਾਬਲੇ ਹੌਲੀ ਹੋ ਸਕਦੀਆਂ ਹਨ ਜਿਵੇਂ ਕਿ ਅਤੇ ਜੇਕਰ UI ਅਕਸਰ ਬਦਲਦਾ ਹੈ ਤਾਂ ਟੁੱਟਣ ਦਾ ਜ਼ਿਆਦਾ ਖ਼ਤਰਾ ਹੋ ਸਕਦਾ ਹੈ।
- ਮੈਂ ਐਪਿਅਮ ਵਿੱਚ XPath ਟੈਕਸਟ ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਾਂ?
- ਦ XPath ਵਿੱਚ ਫੰਕਸ਼ਨ ਤੁਹਾਨੂੰ ਉਹਨਾਂ ਦੀ ਟੈਕਸਟ ਸਮੱਗਰੀ ਦੁਆਰਾ ਤੱਤਾਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਵਾਤਾਵਰਣ ਵਿੱਚ ਸ਼ੁੱਧਤਾ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ ਜਿੱਥੇ ਹੋਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਤਿਆਰ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।
UI ਟੈਸਟਿੰਗ ਲਈ Appium ਦੇ ਅੰਦਰ XPath ਦੀ ਵਰਤੋਂ ਕਰਨ 'ਤੇ ਚਰਚਾ ਦੌਰਾਨ, ਅਸੀਂ ਐਲੀਮੈਂਟਸ ਦਾ ਪਤਾ ਲਗਾਉਣ ਦੀ ਸ਼ੁੱਧਤਾ ਅਤੇ ਕੁਸ਼ਲਤਾ ਨੂੰ ਵਧਾਉਣ ਲਈ ਵੱਖ-ਵੱਖ ਤਰੀਕਿਆਂ ਦੀ ਖੋਜ ਕੀਤੀ ਹੈ। ਗਤੀਸ਼ੀਲ ਐਪਲੀਕੇਸ਼ਨ ਵਾਤਾਵਰਨ ਨਾਲ ਸਿੱਝਣ ਲਈ XPath ਰਣਨੀਤੀਆਂ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣਾ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਮਜਬੂਤ ਤਕਨੀਕਾਂ ਜਿਵੇਂ ਕਿ ਖਾਸ ਗੁਣਾਂ, ਟੈਕਸਟ ਮੁੱਲਾਂ, ਅਤੇ XPath ਧੁਰਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਟੈਸਟਰ ਵਧੇਰੇ ਲਚਕਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾ ਸਕਦੇ ਹਨ ਅਤੇ UI ਤਬਦੀਲੀਆਂ ਕਾਰਨ ਸਕ੍ਰਿਪਟ ਫੇਲ੍ਹ ਹੋਣ ਦੀ ਸੰਭਾਵਨਾ ਨੂੰ ਘਟਾ ਸਕਦੇ ਹਨ। ਜਿਵੇਂ ਕਿ ਐਪਿਅਮ ਵਿਕਸਿਤ ਹੁੰਦਾ ਹੈ, ਉਸੇ ਤਰ੍ਹਾਂ ਪ੍ਰਭਾਵੀ ਤੱਤ ਸਥਾਨ ਲਈ ਰਣਨੀਤੀਆਂ ਵੀ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ।