Skip to content

Commit 568668a

Browse files
committed
fix: try different approach
1 parent 8614c63 commit 568668a

File tree

2 files changed

+100
-86
lines changed

2 files changed

+100
-86
lines changed

.circleci/config.yml

+98-84
Original file line numberDiff line numberDiff line change
@@ -171,29 +171,101 @@ commands:
171171
- run:
172172
command: yarn add file:../../InstabugSDK.tgz
173173
working_directory: <<parameters.working_directory>>
174-
175174
setup_mitm_proxy:
176175
description: Install and configure MITM proxy
177176
steps:
178177
- run:
179178
name: Install Python3 and MITM Proxy
180179
command: |
181-
sudo apt-get update
182-
sudo apt-get install -y python3 python3-pip openssl
180+
# Detect OS and install requirements accordingly
181+
if [ "$(uname)" == "Darwin" ]; then
182+
echo "Running on macOS..."
183+
brew install python3 openssl
184+
else
185+
echo "Running on Linux..."
186+
sudo apt-get update
187+
sudo apt-get install -y python3 python3-pip openssl
188+
fi
183189
190+
# Verify installations
184191
python3 --version
185192
pip3 --version
186193
194+
# Upgrade pip and install mitmproxy
187195
pip3 install --upgrade pip
188196
pip3 install mitmproxy==10.2.4
197+
198+
# Start mitmdump
189199
mitmdump --set block_global=false &
190200
sleep 10
201+
202+
# Create mitmproxy directory
191203
mkdir -p ~/.mitmproxy
192-
while [ ! -f ~/.mitmproxy/mitmproxy-ca-cert.cer ]; do
204+
205+
# Wait for certificate generation
206+
while [ ! -f ~/.mitmproxy/mitmproxy-ca-cert.pem ]; do
193207
sleep 2
194208
done
195-
openssl x509 -in ~/.mitmproxy/mitmproxy-ca-cert.cer -inform PEM -out ~/.mitmproxy/mitmproxy-ca-cert.crt
196209
210+
# Create all required certificate formats
211+
cd ~/.mitmproxy
212+
# Create .cer (PEM format)
213+
cp mitmproxy-ca-cert.pem mitmproxy-ca-cert.cer
214+
# Create .crt (PEM format)
215+
cp mitmproxy-ca-cert.pem mitmproxy-ca-cert.crt
216+
# Create .der format for iOS
217+
openssl x509 -in mitmproxy-ca-cert.pem -outform DER -out mitmproxy-ca-cert.der
218+
219+
echo "MITM Proxy setup completed"
220+
221+
setup_appium:
222+
steps:
223+
- run:
224+
name: Install and Setup Appium
225+
command: |
226+
npm install -g appium@2.11.4
227+
228+
# Install iOS and Android drivers
229+
appium driver install uiautomator2@3.0.5
230+
appium driver install xcuitest@7.9.1
231+
232+
# Install test dependencies
233+
npm install --save-dev webdriverio@9.1.0
234+
npm install --save-dev appium@2.11.4
235+
npm install --save-dev jest@29.7.0
236+
npm install --save-dev appium-uiautomator2-driver@3.0.5
237+
npm install --save-dev appium-xcuitest-driver@7.9.1
238+
239+
# Install Android build tools and platform tools
240+
sdkmanager "build-tools;34.0.0"
241+
sdkmanager "platform-tools"
242+
sdkmanager "platforms;android-34"
243+
244+
# Verify installations
245+
echo "Verifying installations..."
246+
appium --version
247+
appium driver list --installed
248+
249+
- run:
250+
name: Start Appium Server
251+
background: true
252+
command: |
253+
appium \
254+
--log-timestamp \
255+
--debug-log-spacing \
256+
--allow-insecure chromedriver_autodownload \
257+
--base-path / \
258+
--log appium.log &
259+
260+
# Wait for server to start
261+
for i in $(seq 1 30); do
262+
if curl -s http://localhost:4723/wd/hub/status | grep -q "ready"; then
263+
echo "Appium server is ready"
264+
break
265+
fi
266+
echo "Waiting for Appium server... ($i/30)"
267+
sleep 2
268+
done
197269
setup_android_proxy:
198270
steps:
199271
- run:
@@ -315,9 +387,9 @@ commands:
315387
adb shell ls -l /data/local/tmp/certs/$HASH.0
316388
317389
# Configure proxy settings
318-
adb shell settings put global http_proxy "localhost:8082"
390+
adb shell settings put global http_proxy "localhost:8080"
319391
adb shell settings put global global_http_proxy_host "localhost"
320-
adb shell settings put global global_http_proxy_port 8082
392+
adb shell settings put global global_http_proxy_port 8080
321393
322394
# Verify proxy settings
323395
echo "Verifying proxy settings..."
@@ -329,7 +401,7 @@ commands:
329401
name: Start MITM Proxy with Verbose Logging
330402
background: true
331403
command: |
332-
mitmdump -p 8082 --set block_global=false --verbose &
404+
mitmdump -p 8080 --set block_global=false --verbose &
333405
sleep 5
334406
335407
# Verify proxy is running
@@ -340,55 +412,6 @@ commands:
340412
341413
# Monitor proxy logs
342414
tail -f ~/.mitmproxy/mitmproxy.log &
343-
344-
setup_appium:
345-
steps:
346-
- run:
347-
name: Install and Setup Appium
348-
command: |
349-
npm install -g appium@2.11.4
350-
351-
# Install iOS and Android drivers
352-
appium driver install uiautomator2@3.0.5
353-
appium driver install xcuitest@7.9.1
354-
355-
# Install test dependencies
356-
npm install --save-dev webdriverio@9.1.0
357-
npm install --save-dev appium@2.11.4
358-
npm install --save-dev jest@29.7.0
359-
npm install --save-dev appium-uiautomator2-driver@3.0.5
360-
npm install --save-dev appium-xcuitest-driver@7.9.1
361-
362-
# Install Android build tools and platform tools
363-
sdkmanager "build-tools;34.0.0"
364-
sdkmanager "platform-tools"
365-
sdkmanager "platforms;android-34"
366-
367-
# Verify installations
368-
echo "Verifying installations..."
369-
appium --version
370-
appium driver list --installed
371-
372-
- run:
373-
name: Start Appium Server
374-
background: true
375-
command: |
376-
appium \
377-
--log-timestamp \
378-
--debug-log-spacing \
379-
--allow-insecure chromedriver_autodownload \
380-
--base-path / \
381-
--log appium.log &
382-
383-
# Wait for server to start
384-
for i in $(seq 1 30); do
385-
if curl -s http://localhost:4723/wd/hub/status | grep -q "ready"; then
386-
echo "Appium server is ready"
387-
break
388-
fi
389-
echo "Waiting for Appium server... ($i/30)"
390-
sleep 2
391-
done
392415
setup_ios_simulator:
393416
steps:
394417
- run:
@@ -440,49 +463,40 @@ commands:
440463
xcrun simctl list devices
441464
xcrun simctl spawn $SIMULATOR_UDID launchctl print system
442465
466+
setup_ios_proxy:
467+
steps:
468+
- run:
469+
name: Configure iOS Proxy Settings
470+
command: |
471+
xcrun simctl spawn $SIMULATOR_UDID defaults write com.apple.mobilesafari WebKitPreferences.encryption "HTTP/1.1"
472+
xcrun simctl spawn $SIMULATOR_UDID defaults write com.apple.CFNetwork.plist HTTPProxy -dict HTTPEnable 1 HTTPPort 8080 HTTPProxy localhost
473+
xcrun simctl spawn $SIMULATOR_UDID defaults write com.apple.CFNetwork.plist HTTPSProxy -dict HTTPSEnable 1 HTTPSPort 8080 HTTPSProxy localhost
474+
475+
echo "Verifying proxy settings..."
476+
xcrun simctl spawn $SIMULATOR_UDID defaults read com.apple.CFNetwork.plist
477+
443478
setup_ios_certificate:
444479
steps:
445480
- run:
446481
name: Install and Trust Certificate
447482
command: |
448-
# Wait for MITM certificate
449-
while [ ! -f ~/.mitmproxy/mitmproxy-ca-cert.cer ]; do
483+
# Wait for certificate files
484+
while [ ! -f ~/.mitmproxy/mitmproxy-ca-cert.der ]; do
450485
echo "Waiting for MITM certificate..."
451486
sleep 2
452487
done
453488
454-
# Create certificates directory
455-
mkdir -p ~/certificates
456-
cd ~/certificates
457-
458-
# Process certificate
459-
cp ~/.mitmproxy/mitmproxy-ca-cert.cer ./
460-
openssl x509 -in mitmproxy-ca-cert.cer -inform PEM -out mitmproxy-ca-cert.pem
461-
openssl x509 -in mitmproxy-ca-cert.pem -outform DER -out mitmproxy-ca-cert.der
462-
463489
# Install in simulator
464-
xcrun simctl keychain $SIMULATOR_UDID add-root-cert mitmproxy-ca-cert.der
465-
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain mitmproxy-ca-cert.pem
490+
xcrun simctl keychain $SIMULATOR_UDID add-root-cert ~/.mitmproxy/mitmproxy-ca-cert.der
491+
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/.mitmproxy/mitmproxy-ca-cert.pem
466492
467493
# Add to simulator profiles
468494
xcrun simctl spawn $SIMULATOR_UDID mkdir -p /Library/Keychains/
469-
xcrun simctl push $SIMULATOR_UDID mitmproxy-ca-cert.der /Library/Keychains/mitmproxy-ca-cert.der
495+
xcrun simctl push $SIMULATOR_UDID ~/.mitmproxy/mitmproxy-ca-cert.der /Library/Keychains/mitmproxy-ca-cert.der
470496
xcrun simctl spawn $SIMULATOR_UDID profiles trust-root-cert /Library/Keychains/mitmproxy-ca-cert.der
471497
472498
echo "Certificate installation completed"
473499
474-
setup_ios_proxy:
475-
steps:
476-
- run:
477-
name: Configure iOS Proxy Settings
478-
command: |
479-
xcrun simctl spawn $SIMULATOR_UDID defaults write com.apple.mobilesafari WebKitPreferences.encryption "HTTP/1.1"
480-
xcrun simctl spawn $SIMULATOR_UDID defaults write com.apple.CFNetwork.plist HTTPProxy -dict HTTPEnable 1 HTTPPort 8080 HTTPProxy localhost
481-
xcrun simctl spawn $SIMULATOR_UDID defaults write com.apple.CFNetwork.plist HTTPSProxy -dict HTTPSEnable 1 HTTPSPort 8080 HTTPSProxy localhost
482-
483-
echo "Verifying proxy settings..."
484-
xcrun simctl spawn $SIMULATOR_UDID defaults read com.apple.CFNetwork.plist
485-
486500
jobs:
487501
danger:
488502
executor:
@@ -850,7 +864,7 @@ jobs:
850864
name: Start MITM Proxy
851865
background: true
852866
command: |
853-
mitmdump -p 8082 --set block_global=false &
867+
mitmdump -p 8080 --set block_global=false &
854868
sleep 5
855869
856870
# Run tests

examples/hybrid/appiumTests/e2e-config.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ const android = {
1313
'appium:automationName': 'UiAutomator2',
1414
'appium:proxy': {
1515
proxyType: 'manual',
16-
httpProxy: 'localhost:8082',
17-
sslProxy: 'localhost:8082',
16+
httpProxy: 'localhost:8080',
17+
sslProxy: 'localhost:8080',
1818
},
1919
};
2020

0 commit comments

Comments
 (0)